我有以下代码,可以正常工作:
<div class="col-md-12">
<div class="button-group">
<button type="button" class="btn btn-default btn-block btn-sm dropdown-toggle" data-toggle="dropdown"><span class="">TurbineNumber</span> <span class="caret"></span></button>
<ul class="dropdown-menu" style="">
<li style="padding-left:10px;" ng-repeat="c in turbineNumbersDistinct">
<label style="font-weight:100;">
<input type="checkbox" ng-model="c.Selected" ng-change="filterChanged()" /> {{c.Name}}
</label>
</li>
</ul>
</div>
</div>
但是我想将选定的值绑定(bind)到一个新数组,而不是在对象本身上设置 Selected 。我发现一些示例调用了填充绑定(bind)数组的函数,但是是否可以内联执行此操作?
最佳答案
这是有效的,使用ng-change
,您可以将元素推送或拼接到新的输出数组($scope.output
)中。
HTML:
<div ng-controller='MyController' ng-app="myApp">
<div class="col-md-12">
<div class="button-group">
<button type="button" class="btn btn-default btn-block btn-sm dropdown-toggle" data-toggle="dropdown"><span class="">TurbineNumber</span> <span class="caret"></span></button>
<ul class="dropdown-menu" style="">
<li style="padding-left:10px;" ng-repeat="c in turbineNumbersDistinct">
<label style="font-weight:100;">
<input type="checkbox" ng-model="selected[$index]" ng-change="selected[$index] ? output.push(c.Name): output.splice(output.indexOf(c.Name), 1)" /> {{c.Name}}
</label>
</li>
</ul>
</div>
{{output}}
</div>
</div>
关于javascript - 将模型绑定(bind)到选定的值,而不是在项目上选择设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138056/