Ember.js:获取选中的复选框

时间:2014-08-28 12:03:27

标签: javascript checkbox ember.js

在迭代值以创建可变范围的复选框的情况下,如何获取已选中的复选框?

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
    }
  }
});

http://emberjs.jsbin.com/tucoka/1/edit

1 个答案:

答案 0 :(得分:1)

为了跟踪是否选中了复选框,您需要将checked属性绑定到控制器上的属性。
在下面的示例中,复选框将绑定到isChecked属性。

{{input type="checkbox" checked=isChecked}}

在你的情况下,你正在循环一个数组,这样做的方法是在ArrayController上设置itemControlleritemController会为isChecked中的每个项目维持ArrayController状态。然后,您就可以过滤检查项目的ArrayController

我在这里创建了一个带有示例的bin:http://emberjs.jsbin.com/vutezo/1/edit