我的ng-repeat中有一系列复选框:
<tr data-ng-repeat="item in blogCategory.items track by $index">
....
<td>
<label class="toggle">
<input type="checkbox" name="checkbox-toggle" checked="checked"
ng-model="blogCategory.items[$index].publish" ng-true-value="'YES'" ng-false-value="'NO'">
<i data-swchon-text="YES" data-swchoff-text="NO"></i></label>
</td>
</tr>
我的样本中有2个类别项,第一个是发布的假,第二个是真的。它们都在复选框元素上返回(false)/ NO。
$ scope vm是BlogCategory,属性/字段是发布。
如何正确绑定上面的输入元素?
由于
答案 0 :(得分:1)
看起来angular已将ngTrueValue
和ngFalseValue
的参数类型从1.2.x中的字符串更改为1.3.x中的表达式。
尝试删除值周围的单引号,使其看起来像
ng-true-value="YES" ng-false-value="NO"
您可能正在查看latest
上的文档,因为它是默认位置,但您的版本可能是1.2。
https://code.angularjs.org/1.2.27/docs/api/ng/input/input%5Bcheckbox%5D
答案 1 :(得分:0)
在这里:http://jsfiddle.net/nx22cwwg/1/
所以你的问题出在ng-model上。你想要item.publish。所以在我的代码中(与你的代码几乎相同,我没有查看确切的属性名称和内容)我有:
<ul>
<li data-ng-repeat="item in items">
<input type="checkbox" name="checkbox-toggle" checked="checked"
ng-model="item.isPublished" ng-true-value="YES" ng-false-value="NO" />
{{ item.name}}
</li>
</ul>