Ember 选中一个发送其余的复选框列表

Ember list of checkbox on check one send rest

我的模板中有一个复选框列表:

<table>
                    <thead>
                    <tr>

                        <th></th>
                        <th>Sender</th>
                        <th>Title</th>

                    </tr>
                    </thead>
                    <tbody>

                    {{#each message in model.entities}}

                        <tr>

                            <td class="cell-star">
                                {{input type="checkbox" name=message.id tabindex=message.id class="starBox" checked=message.isStar }}

                            </td>
                            <td class="cell-broadcaster">
                                {{message.notification.autor.firstName}} {{message.notification.autor.lastName}}
                            </td>
                            <td class="cell-title">
                                {{#link-to 'notifications.details' message.notification.id}}{{message.notification.title}}{{/link-to}} {{#unless message.isRead}} (new) {{/unless}}
                            </td>

                        </tr>

                    {{/each}}

                    </tbody>
                </table>

现在我想在每次更改某些复选框状态时发送休息查询,其中的复选框 ID 已更改。 我应该在控制器中写什么?

我试过类似的方法,但我无法获取已更改复选框的数据:

updateStarStatus: function() {

   console.log('checkbox clicked');
//here should be something like that:
//$.getJSON(apiHost + "/api/forum/star/"+id);

}.observes('model.entities.@each.isStar'),

我没有使用 emberData。我的模型如下所示:

model: function() {
          return  $.getJSON(apiHost + "/api/forum");

},

您可以使用 observesBefore 方法来跟踪更改并在 observes 方法中进行差异化处理,但我宁愿使用本机 on change 事件来触发操作并传递对象:

<div {{action "updateStarStatus" message on="change"}}>
  {{input type="checkbox" checked=message.isStar}}

并在控制器中

actions: {
    updateStarStatus: function(message) {
      alert(message.id)
    }
  }

http://emberjs.jsbin.com/zohaqodese/2/