在Ember.js中将选中的复选框绑定到数组属性

Binding checked checkboxes to array attribute in Ember.js

本文关键字:绑定 数组 属性 复选框 Ember js      更新时间:2023-09-26

我有一个带有一些输入字段和复选框的表单。路由是这样的:

SharedContentNewRoute = Ember.Route.extend
  setupController: (controller) ->
    content = @modelFor("content")
    controller.set('content', @store.createRecord('shared_content'))
    controller.set('handles', @store.find("handle"))
在其他属性中,

shared_content model有一个handle_ids array属性,该属性需要填充已选中复选框的id。填充复选框(可用句柄)的模板定义在shared_content/new Template:

...
{{#each handles}}
  <div class="checkbox">
    {{input type="checkbox" id=id}}
    <label {{bind-attr for="id"}}>{{data.name}}</label>
  </div>
{{/each}}
...

问题是我需要获得选中的复选框id,并将它们放入shared_content模型(这是此模板的模型)的handle_ids属性,然后保存模型。对于这种装订有什么好的解决方案吗?

看看这个

http://emberjs.com/guides/getting-started/show-when-all-todos-are-complete/http://emberjs.com/guides/getting-started/toggle-todo-editing-state/

这可能会对你有所帮助,当你选中一个复选框时你可以在选中复选框时执行一个函数,你可以在控制器/路由器上创建一个对象并保存复选框信息

需要这样的东西来工作:)

{{#view class="checkbox" tagName="span"}}
  {{input type="checkbox" checked=isSelected viewName="checkboxView"}}
     <label class="checkbox" {{bind-attr for="view.checkboxView.elementId"}}>
         {{data.name}}
      </label>
{{/view}}