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)
}
}
我的模板中有一个复选框列表:
<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)
}
}