1

我注意到当我使用valueAllowUnset: trueSelect2 插件时,默认值在选择框中不可见。但是,当我单击选择时,会突出显示正确的值。

http://jsfiddle.net/LgXcb/

尝试, select2: {}从上面的小提琴中删除“”,看看它应该如何工作。

关于导致此问题的任何想法?它与我用于 Knockout 的 select2 自定义绑定功能有关吗?

4

2 回答 2

3

似乎我总是在设置赏金后立即找到解决方案,即使我等了几个月才开始赏金。

问题update在于我的自定义绑定函数内的代码。select的observable值改变后,我还需要手动更新select2,像这样:

update: function(element, valueAccessor, allBindingsAccessor) {
  var value = ko.utils.unwrapObservable(allBindingsAccessor().value || allBindingsAccessor().selectedOptions);
  if (value) $(element).select2('val', value);
}

工作代码:http: //jsfiddle.net/LgXcb/5/

于 2014-06-27T13:14:02.657 回答
1

有趣的是,您的setTimeout电话引起了问题。为什么?我还不确定,但如果你删除它并getSemesters()在函数末尾直接调用,它将选择所选的初始值。

小提琴

如果找到确切原因,我将继续查看并更新您。


更新

当您查看插件的github时,您会发现令人惊讶的东西。select2

于 2014-06-26T17:38:55.457 回答