Angularjs中checkbox全选不手动点就不触发ng-change?

angularjs使用ng-change实现checkbox变化触发事件时,利用ng-checked实现选中却不触发ng-change事件,只有手动点击时才能触发,大致意思就是只有直接点<td>中的checkbox时才能触发add(),当点击<th>中的checkbox实现<td>checkbox多选时add()无效
代码如下

<tr>

  <th><input type="checkbox" ng-model="isChecked"></th>

</tr>

<tr ng-repeat="item in data track by $index">

  <td><input type="checkbox" ng-checked="isChecked" ng-model="item.isChecked" ng-change="add(item.isChecked,item.uid)"></td>

</tr>

var uid_list = [];

    $scope.add = function (item_checked,uid) {

        var uid = parseInt(uid);

        if(item_checked){

            uid_list.push(uid);

        }

        if(!item_checked){

            var index = uid_list.indexOf(uid);

            uid_list.splice(index,1);

        }

        console.log(uid_list);

    };


元芳怎么了
浏览 468回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript