javascript - ng-repeat 和选定的行

标签 javascript html css angularjs

这是上一个问题 angularjs repeat table rows inside rows 的延续

我无法确定是否有解决以下问题的方法。我希望能够在单击它时突出显示当前行(并独立地为描述和“子”行执行此操作,但在实际行数组中我没有单独使用它们 - 我只是使用 ng- 重复第一行两次repeat-start 和 ng-repeat-end 方法)。

我目前有以下代码:

<tr ng-repeat-start="result in crud.model.lineItems track by $index"
                            ng-click="crud.selectedIndex=$index;"
                            ng-class="{selected: $index === crud.selectedIndex && result.rowNumber===1}">
                            <td ng-if="result.rowNumber===1">
                                <a href="{{'Items/DCI#/edit/item/'+ result.departmentId + '/' + result.categoryId + '/' + result.itemId}}" 
                                   target="_blank"
                                   title="@Labels.editItemInNewTab">{{result.itemId}}</a>
                            </td>
                            <td ng-if="result.rowNumber===1">{{result.item}}</td>

接下来还有几个 td。

然后我有以下内容:

<tr ng-repeat-end ng-if="result.inventId!==0"
                            ng-click="crud.selectedIndex=$index;"
                            ng-class="{selected: $index === crud.selectedIndex && result.rowNumber > 1}">
                            <td></td>
                            <td></td>
                            <td>
                                {{result.inventoryDescrip}}
                            </td>

我正在尝试实现以下目标:如果单击顶部(描述)行,我想突出显示它。如果我点击接下来的每一行,我也想独立地突出显示它们中的每一行(并使顶部的描述行不突出显示)。

我似乎无法弄清楚是否有某些条件不能使前 2 行(描述 + 我的第一个矩阵)行不一起突出显示。

使用我目前的方法,我可以突出显示顶部的描述行和除第一行之外的所有行。我尝试了各种方法,但没有找到一种方法可以按照我的需要突出显示它。

你看到我的问题和可能的解决方案了吗?

最佳答案

我让它工作了!

这是我的解决方案:

<tbody>
                        <tr ng-repeat-start="result in crud.model.lineItems track by $index"
                            ng-click="crud.selectedMatrixIndex=-1;crud.selectedIndex=$index;"
                            ng-class="{selected: $index === crud.selectedIndex}">

在 ng-repeat 和

的顶部

 <tr ng-repeat-end ng-if="result.inventId!==0"
                            ng-click="crud.selectedMatrixIndex=$index;crud.selectedIndex = -1;"
                            ng-class="{selected: $index === crud.selectedMatrixIndex}">
                            <td></td>
                            <td></td>
                            <td>
                                {{result.inventoryDescrip}}
                            </td>

在底部。我在 Controller 中将 MatrixIndex 初始化为 -1,并将 selectedIndex 初始化为 0。因此,我现在能够独立选择我的行(顶部描述行和“子”行)。

关于javascript - ng-repeat 和选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51813914/

相关文章:

javascript - 如何在 Meteor JS 中水平对齐 div/配置文件卡?

javascript - Extendscript Toolkit 2 无法针对 Illustrator CS3

html - 为什么我不能为内容标签添加样式?

css - 用CSS构建国际象棋图

javascript - 如何从 javascript 中的 firebase 数据库中删除用户的信息(即使他/她当前未登录)?

javascript - 查找已更改的内容并仅上传更改

HTML/CSS - 检查丢失的文件引用

javascript - 如何在 javascript 中检查多个 URL 状态代码?

javascript - 根据父级的当前宽度将元素附加到父级和位置

html - Inline-Block 内部位置 :absolute element