这是 jsfiddle ,我使用了与 Ajax 几乎相同的小提琴 My Fiddle ,这里是 Matt 的Stickit MultiSelect Select2 和一个数组 ,但在选择配置中添加了一个 ajax 属性。
单击结果,模型为模型
console.log(this.model.attributes)
结果friends设置了一个未定义的属性:[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 调用返回的整个对象并将其设置为选择时的模型属性。