如何将单个复选框值与 AngularJS 控制器绑定

Posted

技术标签:

【中文标题】如何将单个复选框值与 AngularJS 控制器绑定【英文标题】:How to bind single checkbox value with AngularJS Controller 【发布时间】:2016-12-15 01:52:12 【问题描述】:

我检查了问题How to bind to list of checkbox values with AngularJS。但是这个问题解释了数组列表以及在 Angular 控制器中处理它的最佳方法。

<input type='checkbox' name="filter" checked>

我们如何将值绑定到复选框,以便在未选中时将值作为模态 0,在选中时将值作为模态 1? html 和 Controller 应该是什么?

$scope.filter = 0;

【问题讨论】:

plnkr.co/edit/rGK1fbYHQinH7OoO6Qqm?p=preview 【参考方案1】:

试试这个:

$scope.filter = 0;//or 1

HTML:

<input type="checkbox" ng-model="filter" ng-true-value="1" ng-false-value="0">

【讨论】:

【参考方案2】:

这是一个基于AngularJS documentation的修改示例

控制器

angular.module('checkboxExample', [])
.controller('ExampleController', ['$scope', function($scope) 
    $scope.checkboxModel = 0; //Set checkbox to unchecked
]);

HTML

<input type="checkbox" ng-model="checkboxModel" ng-true-value="1" ng-false-value="0">

【讨论】:

我的答案的好副本。 对不起,我没有看到它...我正在写我的答案【参考方案3】:

Angular 提供了 ng-true-value 和 ng-false-value 指令来满足您的要求。通过它,您可以将真/假值与复选框相关联,并且模型也将使用相同的值。

你可以试试下面的代码

<div ng-controller="ValidateCtrl">
    Check Value: <input type="checkbox" ng-true-value="1" ng-false-value="0" ng-model="checkBoxModel"/>
</div>

Controller
---------
function ValidateCtrl($scope) 
   $scope.checkBoxModel = '1';
;

所以最初复选框将被选中。

【讨论】:

以上是关于如何将单个复选框值与 AngularJS 控制器绑定的主要内容,如果未能解决你的问题,请参考以下文章

如何通过在 AngularJS 中绑定来捕获来自无效属性的 html 编译错误

在Angular Js中重新加载后,如何将复选框(选中或未选中)从javascript控制器更新到html页面?

在angularjs中选中checkall和checkbox时,推送并拼接成数组

在 AngularJS 控制器之间共享数据? [复制]

如何使用react-js以动态形式将复选框值与文本输入绑定?

如何使选定的值与 AngularJS 中的选项值不同?