这是jsfiddle,我使用了几乎相同的小提琴My Fiddle with Ajax,这里是Matt的Stickit MultiSelect Select2 with an array 但是在select config中添加了一个ajax属性。
单击结果,模型会为模型设置未定义的属性
console.log(this.model.attributes)
结果朋友:[1,2,未定义]。
change事件只调用getVal函数,该函数返回一个未定义的值 这里 `getVal:function($ el){ var selected = $ el.find('option:selected');
if ($el.prop('multiple')) {
return _.map(selected, function(el) {
**return Backbone.$(el).data('stickit-bind-val');**
});
} else {
return selected.data('stickit-bind-val');
}
}`
我认为与添加选项的更新功能不同,点击结果不是添加选项或调用addSelectOptions函数。
但是当使用getVal:function($el,event,options){return $el.val(val);}
时只返回值[1,2,4]。但是如果我有一个嵌套的集合,它只返回值而不是整个对象。
需要从AJAX呼叫返回的整个对象并将其设置为选择的模型属性。