角度复选框绑定不正确
Angular Checkboxes not Binding Properly
解决此问题时遇到问题,该问题涉及从API生成的Angular复选框表单。
我可以创建复选框,但有两个问题:复选框的检查度与API中的值不匹配,当我单击复选框时,名称值会从默认值更改为"true"或"false"。我看到过其他类似的问题,但无法使其起作用。Plunk在这里和下面的源代码:
<!doctype html>
<html ng-app="checkTest">
<head>
<meta charset="utf-8">
<title>Angular Multiple Checkboxes</title>
<style>
label {display:block;}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.js"></script>
<script type="text/javaScript">
var jsonObj = {"fruits":[
{
"name": "Apple",
"desc": "abcdefg",
"selected": "true",
"status": "Created"
},
{
"name": "Broccoli",
"desc": "abcdefg",
"selected": "true",
"status": "None"
},
{
"name": "Cucumber",
"desc": "abcdefg",
"selected": "false",
"status": "Created"
},
{
"name": "Daikon",
"desc": "abcdefg",
"selected": "false",
"status": "None"
}
]};
var fruitsObj = jsonObj.fruits;
</script>
</head>
<body>
<div ng-controller="MainCtrl">
<label ng-repeat="fruit in fruits">
<input type="checkbox" name="fruitSelect" ng-model="fruit.name" ng-value="{{fruit.name}}" ng-checked="fruit.selected"> {{fruit.name}}
</label>
<p>Services: {{fruits}}</p>
</div>
<script type="text/javaScript">
var app = angular.module('checkTest', []);
app.controller('MainCtrl', function($scope) {
$scope.fruits = fruitsObj;
});
</script>
</body>
</html>
简单地说,布尔值应该仅为true
或false
,而不是字符串'true'
或'false'
此外,不需要ng-checked
指令。您还需要在表单字段中使用{{index}}
,这样它将成为表单的唯一元素,就像执行serviceSelect-{{$index}}
一样
标记
<input
type="checkbox"
name="serviceSelect-{{$index}}"
ng-model="fruit.selected"
ng-value="{{fruit.name}}" />
Demo Plunkr
<input type="checkbox" name="serviceSelect" ng-model="fruit.selected" ng-value="{{fruit.name}}" ng-checked="fruit.selected">
相关文章:
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- 敲除:可观察数组没有被正确绑定——只有1个结果显示,而api返回6
- Jquery函数无法处理动态加载的内容(不是绑定函数)
- jQuery:click() 执行而不是绑定
- d3.js enter()未正确绑定到数据-正在重新创建现有数据
- 使用具有挖空的外部.js文件不应用绑定
- 挖空.js - 在下拉列表中设置属性,而不永久绑定到模型
- AngularJS 指令未正确绑定属性
- Jquery 不会绑定到新的附加元素
- 将 json 正确绑定到 Kendo DropDownList
- 为什么模型在 nodejs 中没有正确绑定
- KNOCKOUTJS 映射嵌套元素不是绑定的
- Knockout JS值不显示/绑定/更新,但可通过ko.toJS($data).value获得
- 为什么 knockoutjs 无法正确绑定
- 为什么这个 angularjs 指令不显示绑定的文档
- 棱角分明.js ng 样式不会绑定值
- jQuery 移动页面容器如何正确绑定事件
- 动态复选框不能与ng-model正确绑定
- 不能正确绑定observable的数组
- 奥蕾莉亚选择不正确绑定