这是jsfiddle,我使用了几乎相同的小提琴My Fiddle with Ajax,这里是Matt的Stickit MultiSelect Select2 with an array但是在select配置中添加了ajax属性 .
单击结果,模型将未定义的属性设置为模型 console.log(this.model.attributes)
结果朋友:[1,2,undefined] .
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呼叫返回的整个对象并将其设置为选择时的模型属性 .