jQuery Select2使用Knockout observableArray刷新数据

时间:2015-07-10 07:19:11

标签: jquery knockout.js jquery-select2 observable

我有一个敲除observableArray,它被绑定为select2插件的数据源。

var typeahead = $view.select2({
                formatSelection: format,
                formatResult: format,
                allowClear: true,
                multiple: false,
                data: self.dataSource(),
                //minimumInputLength: 1,
                //query: function (queryObj) {
                //    //queryObj.callback(function () { return CDSData; });
                //    //console.log(queryObj.term);
                //    self.searchText(queryObj.term);
                //    //alert(self.dataSource())
                //    //queryObj.callback(self.dataSource());
                //}
            });

我有一个函数可以根据用户输入到select2文本框中的文本更改observableArray(最终是select2的数据源)。

该函数成功更改了我的observableArray,但建议列表未使用较新的数据源进行刷新。

请注意,我不能使用Ajax功能。

1 个答案:

答案 0 :(得分:0)

当你传递数组dataSource()时,我不相信它实际上是绑定,你不是在此时发送可观察数组而是实际数组本身。我也不认为这会触发KO绑定,当它作为JSON对象传递给select2时,它没有绑定到的元素。

我建议在dataSource observableArray上创建一个observable,然后使用jquery查找$ view并更新数据属性。

相关问题