Angularjs在当前行位置添加行
Angularjs adding row at curent row location
我有以下代码,假设在当前行位置(而不是在行的底部)添加另一行:
<tr ng-repeat="ro in rows">
<td>{{ro.name}}</td>
<td>{{ro.id}}</td>
<td><a ng-click="addRo($index)">add row</a></td>
</tr>
在我的控制器中,我有:
$scope.addRo=function(index){
$scope.inderted={
id: '',
name: ''
};
$scope.rows($index+1).push($scope.inserted);
}
我尝试了上面的代码,希望将索引添加到当前位置,它会添加它,但它不起作用。如何解决此问题?
尝试使用.splice()
而不是.push()
$scope.addRo=function(index){
var inderted={
id: '',
name: ''
};
$scope.rows.splice(index + 1, 0, inderted);
}
这是.splice()
的文档
此外,如果您只是临时使用"indested",则无需将其添加到作用域中。
要在数组中插入新元素,需要使用Array.prototype.splice
方法。在您的情况下:
$scope.rows.splice($index+1, 0, $scope.inserted);
由于您可以访问ng repeat中当前元素的$index
,因此插入新行很容易。当前代码的问题是array.push
总是将元素添加到数组的端。
使用array.splice
将元素实际插入到数组中。
$scope.addRo = function(index) {
var newObj = {
id: '',
name: ''
};
$scope.rows.splice(index + 1, 0, newObj); //inserts a row after this one
//use index for a new row here
};
相关文章:
- 如何在Google柱状图中动态添加行/列
- 使用jQuery动态添加表并在其中动态添加行
- Angularjs在当前行位置添加行
- 在change事件javascript上动态添加行
- 当源工作表添加了行时,如何编写在一个工作表中添加行的脚本
- 如何在谷歌地图上为单个位置添加多个标记
- 添加行并运行多个mySQL查询
- 基于用户垂直滚动向HTML表添加行
- 在表中动态添加行
- 在使用 javascript 动态添加行时,我正在增加索引值,但出现错误
- 动态添加行时计数器的增量
- 提交表单时如何在 HTML 表格中添加行
- 按React按钮添加行
- 用于在表中添加行的Javascript代码将单元格中的数据复制到新行中
- 删除添加行
- 动态添加行时,启用/禁用Gridview中的验证程序
- 使用JS向html表添加行
- Datepicker克隆ID在添加行时保持不变
- 如何更改单选按钮的位置&添加行分隔符
- 按回车键时,在光标位置添加换行符