我有一系列带开关的东西。如何让每个开关调用具有该对象的函数并将开关作为参数调用?
我试图为我的复选框设置“ng-change”指令,但似乎没有调用该函数。如何调用我制作的toggleSync函数?
我是新手,所以如果我需要认真的帮助,我很抱歉。
<div id="track-list" ng-controller="Controller" ng-init="update()">
<div class="data-table">
<table class="table table-hover tablesorter">
<tr ng-repeat="item in items">
<td><a href='{[{item.path}]}/{[{item.id}]}'>{[{item.title}]}</a></td>
<td>{[{item.time_created}]}</td>
<td>
<div class=checkbox>
<input ng-model="value" id="check{[{$index}]}" type="checkbox" ng-checked="!item.deleted" ng-change="toggleSync(item.id, this)" ng-true-value="YES" ng-false-value="NO"/>
<label for="check{[{$index}]}">{{value}}</label>
</div>
</td>
</tr>
</table>
function Controller($scope) {
console.log("init");
$scope.items = [];
$scope.toggleSync = function(objectId, input) {
console.log("toggle sync");
}
}
答案 0 :(得分:4)
这是一个包含您的代码和一些更正的plunker(即:您使用了标签分隔符{[{item.title}]}而不是{{item.title}})
链接:http://plnkr.co/edit/f9ngMMe8XJT4QDlA0Nx0?p=preview。
在这个演示中,有一个表行显示item.path / item.id作为链接,后跟item.title和一个复选框,根据其状态将值设置为YES / NO。当复选框状态发生更改时,将调用toggleSync函数,并将该项作为参数。输入复选框具有item.value作为模型,这是toggleSync函数内可用的属性。