我有一个动态生成的表。每行包含一个选择
(又名下拉菜单)和一个复选框
。
在更改选择
时,我想另外更改复选框
的属性,但是我不确定如何引用复选框
一个 ng-change
函数。
这是一个动态 HTML 表格:
</table>
<tr ng-repeat = "(index, item) in items">
<td >
<select ng-model="item.myDropDown" ng-change="dropDownChange()">
<option value="A"> A </option>
<option value="B"> B </option>
</select>
</td>
<td>
<input type="checkbox" ng-model="item.myCheckbox" value="unchecked" disabled='disabled'/>
</td>
</tr>
</table>
现在我尝试使用以下方式在更改时引用这些元素:
myApp.controller('myController', function($scope) {
$scope.dropdownChange = function() {
console.debug(this.item.toDoDropdown); //I am able to reference the select-option values
document.getElementById(this.item.myCheckbox).checked = true; //This is placeholder code to signify my intent at referencing the checkbox
}
}
在我看来,复选框
不在这个ngChange
函数的范围
中,但是我不确定如何纠正这个问题。
此外,我尝试按照我的互联网旅行中的建议为每个表行提供自己的 Controller ,名为 here ;这确实是个好习惯吗?
最佳答案
您可以将索引和项目传递给方法:dropDownChange($index,item)
$scope.dropdownChange = function($index,item){
item.myCheckbox = true;
}
关于javascript - 引用使用 ngRepeat 创建的动态表中的 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772043/