javascript - 如果复选框被选中,如何知道将元素添加到数组中,如果未选中,如何将其删除?

标签 javascript jquery angularjs checkbox

这是我在 HTML 上的代码。我在谷歌上找到它,我可以使用它。

<input type="checkbox" ng-true-value="addTitle(cpPortfolioItem)" ng-false-value="removeTitle(cpPortfolioItem)">

这是我的 angularJS Controller 。

$scope.addTitle = function(cpPortfolioItem){
        $scope.selectedTitles.push(cpPortfolioItem.id);
        console.log('$scope.selectedTitles', $scope.selectedTitles);
     };

     $scope.removeTitle = function(cpPortfolioItem){
        $scope.selectedTitles.splice(cpPortfolioItem.id,1);
        console.log('$scope.selectedTitles', $scope.selectedTitles);
     };

这是行不通的。我已经在控制台中记录了它,但我看不到它既没有推送也没有拼接数组。也许 ng-true-value 不是一个有效的指令?任何人都可以帮助我吗?我将非常感激。

最佳答案

基于documentation ng-true-valueng-false-value 值不是事件处理程序。这些是当 input 被选中(ng-true-value)或未被选中(ng-false-值).

使用this或者使用 ng-model 并将 $watch 附加到模型。

关于javascript - 如果复选框被选中,如何知道将元素添加到数组中,如果未选中,如何将其删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30184267/

相关文章:

javascript - 如何在d3.tree代码中选择所有以指定单词结尾的d.data.id?

javascript - 如何正确应用Angularjs ng-repeat?

css - 在 AngularJS 中动态更改指令的类?

angularjs - 如何解决Angular中 Controller 多参数形式?

javascript - 如何在 for 循环中等待异步查询完成?

javascript - Jquery .animate() 有问题

asp.net - 使用 Javascript 翻转文本框的只读标志

jquery - 将鼠标放在正文上并向上或向下拖动页面,就像在 pdf 上一样

javascript - 折线图渲染后回调

javascript - 使用 JavaScript 将金额转换为单词