如何使复选框绑定到数据模型中的布尔值
How do I get checkboxes to bind to boolean values in my data model?
我已经浏览了几个小时类似的问题,但还没有找到任何完全匹配的问题。我想做的是有一个复选框通过数据绑定到一个真/假值在我的数据自动检查。我可以让项目名称加载,没有问题,我甚至可以拉出复选框的值保存到服务器,但我不能让初始值正确加载。
这是一个简化的例子,显示了基本问题;HTML:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="shoppingListNg.js"></script>
<body ng-app>
<div ng-controller="ShoppingListCtrl">
<table>
<tr ng-repeat="item in shoppingList">
<td>
<div>{{item.text}}</div>
</td>
<td>
<input type="checkbox" ng-model="item.isGotten" />
</td>
</tr>
</table>
</div>
</body>
这里是Javascript:
function ShoppingListCtrl($scope) {
$scope.shoppingList = [
{
"text": "V8 fusion",
"isGotten": "true"
},
{
"text": "Whole milk container",
"isGotten": "false"
},
{
"text": "Protein bars",
"isGotten": "true"
}
];
};
知道为什么我不能让这些复选框尊重模型中的"真"answers"假"值吗?每当页面加载时,它们总是显示未选中。我需要使用ng-checked或不同的指令吗?
问题是你的"true"answers"false"都用引号括起来了,这使得它们变成了字符串,而不是布尔值,Angular可以将复选框绑定到它们。
如果你像下面那样去掉引号,你的代码就可以正常工作了。一个可行的例子在http://plnkr.co/edit/gkchmOBTkBtVv3TijlZW。
function ShoppingListCtrl($scope) {
$scope.shoppingList = [
{
"text": "V8 fusion",
"isGotten": true
},
{
"text": "Whole milk container",
"isGotten": false
},
{
"text": "Protein bars",
"isGotten": true
}
];
};
根据您的数据,您可能不希望在代码中使用纯true/false。AngularJS将true/false和1/0布尔值计算为字符串,所以你最好使用字符串。
在这个代码中,我使用"1"answers"0"来表示布尔值,并使用ngTrueValue和ng谬误值来告诉AngularJS如何保持绑定的完整性。非常简单和干净。
参考此处:http://codepen.io/paulbhartzog/pen/kBhzn
代码片段:
<p ng-repeat="item in list1" class="item" id="{{item.id}}">
<strong>{{item.id}}</strong> <input name='obj1_data' type="checkbox" ng-model="list1[$index].data" ng-true-value="1" ng-false-value="0"> Click this to change data value below
</p>
<pre>{{list1 | json}}</pre>
我只能让ng-true-value工作,如果我添加额外的引号像这样(如官方的Angular文档- https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D所示)
ng-true-value="'1'"
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何将本地json数据加载到Extjs数据模型中
- 更新成员数据模型中的记录列表
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- select中布尔值的Angularjs ng值不起作用
- 更正扁平数据模型和noSQL数据结构
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 如何在ember数据模型中表示数组
- Chart.js2.X中的条形值-数据集元数据未定义
- MeteorJs Alded autoform,如何从布尔值复选框中获得所需值
- 如何在路线中使用空白Ember数据模型
- 将计算的列值绑定到数据表数据模型
- 如何让Javascript将通过AJAX请求提取的tinyint(1)数据视为布尔值
- Vue js 获取数据模型的第一个值
- MVC 5 Razor 中的引导模式:当用户单击模式中的继续按钮时,如何将模型布尔值更新为 false
- 如何在骨干模型属性中设置布尔值true/false
- 如何使复选框绑定到数据模型中的布尔值
- 如何从json中识别和提取布尔值、整数等数据
- JQuery Mobile 测试布尔值的数据属性