在迭代值以创建可变范围的复选框的情况下,如何获取已选中的复选框?
HBS:
<ul>
{{#each item in model}}
<li><label>{{input type="checkbox"}} {{item}}</label></li>
{{/each}}
</ul>
路线:
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
},
actions: {
iHaveSelected: function() {
// Get checked items
}
}
});
答案 0 :(得分:1)
为了跟踪是否选中了复选框,您需要将checked
属性绑定到控制器上的属性。
在下面的示例中,复选框将绑定到isChecked
属性。
{{input type="checkbox" checked=isChecked}}
在你的情况下,你正在循环一个数组,这样做的方法是在ArrayController
上设置itemController
。
itemController
会为isChecked
中的每个项目维持ArrayController
状态。然后,您就可以过滤检查项目的ArrayController
。
我在这里创建了一个带有示例的bin:http://emberjs.jsbin.com/vutezo/1/edit