【问题标题】:Checkbox binding in ng-repeat angular jsng-repeat angular js中的复选框绑定
【发布时间】:2016-07-28 20:22:10
【问题描述】:

https://jsfiddle.net/bngk/7urrobaa/

 <div ng-repeat="item in items" ng-init="item.showCb = item.value == 'true' || item.value == 'false'">

<input type="checkbox" ng-if="item.showCb" ng-true-value="true" ng-false-value="false" ng-model="item.value" ng-checked="item.value == 'true'">{{items[$index].value}}</input>
    <input type="text" ng-if="!item.showCb"  ng-model="item.value"/>
  </div>

我在绑定 ng-repeat 中的复选框时遇到问题该模型,虽然我提到 ng-true-value="true" 和 ng-false-value="false" 作为字符串,但它拥有布尔值。我希望字符串值出现在模型中。请检查我的小提琴。感谢您的支持。

【问题讨论】:

  • 您的代码中有很多错误...&lt;input&gt; 是一个 self 关闭 tag、ngModel 和 ngChecked不应该一起使用。 ngInit 不是为了这个目的..
  • 自闭标签和 ng-init 很好。但是如果没有 ng-checked,我无法默认设置值,如果没有 ng-model,我将无法绑定这些值。请让我知道在这种情况下如何使用 ng-model 和 ng-checked...提前致谢...

标签: angularjs angularjs-ng-repeat


【解决方案1】:

如果您查看文档:https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D,您可以看到 ng-*-value 接受一个表达式。因此,如果您简单地输入ng-true-value="true",它会将其视为一个表达式。

如果你输入ng-true-value=" 'true' ",那么它就知道它是一个字符串。

但如上所述,您的代码中还有一些其他错误。

【讨论】:

    猜你喜欢
    • 2014-07-12
    • 1970-01-01
    • 2015-04-10
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多