【问题标题】:AngularJS checkbox placed inside ng-repeat not bindingAngularJS复选框放置在ng-repeat内不绑定
【发布时间】:2013-08-16 21:56:12
【问题描述】:

我有一个复选框(绑定到一个模型),放置在一个 ng-repeat 标记内,它遍历一个列表。

我想使用ng-true-valueng-false-value 属性向控制器发送值“YES”或“NO”,具体取决于该框是否被选中。

但由于某种原因,$scope.value2 没有在控制器中更新。

这是一个解决我的问题的 jsFiddle:: http://jsfiddle.net/HmvgW/

注意:如果我将复选框放在 ng-repeat 标记之外,则 YES/NO 值会正确发送到控制器。

如果我将复选框单击的值放在 ng-repeat 标记内,如何将值发送到控制器?

谢谢!

【问题讨论】:

    标签: angularjs checkbox ng-repeat


    【解决方案1】:

    这是一个范围问题。 ng-repeat 为每个循环创建一个新的子作用域。如果您想从子范围内访问父范围,可以使用 $parent.value2 来实现。

    【讨论】:

    • 是的,我通过将 $parent.value 添加到输入标签来让它工作。 <input type="checkbox" ng-model="$parent.value2" ng-true-value="YES" ng-false-value="NO" ng-click="value2Clicked()"> 谢谢!
    • @Wilson - 谢谢这真的很有帮助。多么奇怪的错误。
    猜你喜欢
    • 2013-01-27
    • 2017-09-13
    • 2015-08-29
    • 1970-01-01
    • 2013-01-02
    • 2015-11-14
    • 2014-07-12
    • 2017-09-28
    相关资源
    最近更新 更多