繁体   English   中英

angularjs访问ng-repeat复选框

[英]angularjs accessing ng-repeat checkbox

我在做ng-repeat从数组输出复选框。

<div class="row-fluid">
    <label ng-repeat="checkbox_ in checkboxes" class="checkbox"
        for="checkbox_{{$index}}">
            <input name="checkbox_{{$index}}" id="checkbox_{{$index}}"
                ng-model="checkbox_.checked"
                ng-true-value="{checkbox_.value}"
                type="checkbox">
            {{checkbox_.text}}
    </label>
</div>

数据

$scope.checkboxes = [
    {"text": "text1", checked:false},
    {"text": "text2", checked:false},
    {"text": "text3", checked:false},
    {"text": "text4", checked:false}
];

之后,例如,我想访问checkbox_1 ...

<hr>
checkbox_1.checked - {{checkbox_1.checked}}<br>
checkbox_1.value - {{checkbox_1.value}}<br>
checkboxes[1].checked - {{checkboxes[1].checked}}<br>
checkboxes[1].value - {{checkboxess[1].value}}<br>checkbox_1.value - {{checkbox_1.value}}<br>

<div ng-show="checkboxes[1].checked">on</div>

没有任何反应http://jsfiddle.net/MQzGP/3/

用户将其设置为true时,如何访问checkbox1值“ text2”? TY

你想要这样的东西吗?

you selected <span ng-show="checkboxes[0].checked"> {{checkboxes[0].text}}</span> 
<span ng-show="checkboxes[1].checked"> {{checkboxes[1].text}}</span>

DEMO

或者使用ng-repeat动态地执行此操作:

you selected <span ng-repeat="checkbox_ in checkboxes" ng-show="checkbox_.checked"> {{checkbox_.text}}</span> 

DEMO

为了分离关注点以及使用MVC结构(例如angularjs)的正确方法。 不应直接访问DOM复选框以获取其选中状态和文本,而应访问模型。

您的代码很好-除非JS中的数组从0而不是1索引,所以应该选中checkboxes [0] .check。

顺便说一句-调试我建议使用

<pre>{{checkboxes | json}}</pre>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM