我正在从App.Resource.find()
获取记录列表这很好用。
对于每行数据,都有一个带有固定值的下拉框。当对下拉框进行更改时,我想向服务器发出POST
或PUT
请求,以使用下拉列表中新选择的值更新该行。
我遇到两件事有困难:
ID
和所选value
App.Resource.update...
吗?我有一个带有本地数据的工作示例的jsBin:http://jsbin.com/OcAyoYo/84/edit
答案 0 :(得分:0)
好的,这是获取所选值的一种方法,让我们把它们放在应该去的地方,好吧,首先,让我们创建一个控制器,它将装饰你的响应记录,你混合了名字,你正在使用Post所以,我会用这个名字,这是控制器:
App.PostController = Ember.ObjectController.extend({
selectedChanged: function() {
//here, you have access to the selected value with this:
// this.get('selected')
//And also, this controller represents you object rendered on the screen,
//so, you can change it here if you want like this:
//this.set('whataverPropertyYouWantToChange', 'newValue');
//then you can save this record(send the request to the server) by just doing this:
//this.save(); this will make a request to the server
}.observes('selected')
});
然后,为了使用该控制器,将渲染记录的循环更改为:
{{#each model itemController="post"}}
<tr>
<td>{{author}}</td>
<td>{{book}}</td>
<td>
{{view Ember.Select
contentBinding= 'App.names.content'
selectionBinding='selected'}}
</td>
</tr>
{{/each}}
请注意,在PostController中,即使'selected'属性具有空值,也会触发观察者,您需要验证它是否为空。