首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS: ng-模型未绑定到ng-选中复选框

AngularJS: ng-模型未绑定到ng-选中复选框
EN

Stack Overflow用户
提问于 2013-05-17 11:38:54
回答 5查看 141.8K关注 0票数 80

在问这个问题之前,我提到了这一点。

AngularJs doesn't bind ng-checked with ng-model

如果ng-checkedhtml端的计算结果为true,则不会更新ng-model。我不能像上面问题中建议的那样使用ng-repeat,因为我必须为每个复选框使用一些样式。

这是我为了说明我的问题而创建的柱塞。

http://plnkr.co/edit/YsOsPh3vjkPMUUDa6r2t

要查看我想要的内容,请打开控制台,然后单击Submit按钮。请不要选中任何复选框。

提前感谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-17 11:52:19

ngModelngChecked不能一起使用。

ngChecked需要一个表达式,所以通过说ng-checked="true",你基本上是说复选框在默认情况下总是处于选中状态。

您应该能够仅使用ngModel,并将其绑定到模型上的布尔属性。如果您想要其他东西,那么您要么需要使用ngTrueValuengFalseValue (目前只支持字符串),要么编写您自己的指令。

你到底想做什么?如果您只想在默认情况下选中第一个复选框,那么您应该更改您的模型-- item1: true,

编辑:您不必提交表单来调试模型的当前状态,顺便说一句,您只需将{{testModel}}转储到您的HTML (或<pre>{{testModel|json}}</pre>)中即可。此外,还可以将ngModel属性简化为ng-model="testModel.item1"

http://plnkr.co/edit/HtdOok8aieBjT5GFZOb3?p=preview

票数 123
EN

Stack Overflow用户

发布于 2015-04-07 19:08:49

您可以使用ng-value-true告诉angular您的ng-model是一个字符串。

如果我像这样添加额外的引号,我才能让ng-true-value工作(如官方Angular文档-https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D所示)。

ng-true-value="'1'"
票数 13
EN

Stack Overflow用户

发布于 2016-08-18 20:51:09

您可以做的是使用ng-repeat将您迭代的任何内容的值传递给ng-checked,然后从那里利用ng-class根据结果应用您的样式。

我最近做了一些类似的事情,它对我很有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16601018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档