【发布时间】:2014-12-26 05:42:13
【问题描述】:
我正在开发一个有选择元素的 Web 应用程序。我将它绑定到一个集合。我正在使用淘汰赛来做到这一点。
这是我的代码:
<select multiple class="form-control input-sm"
data-bind="options: ConfigurationParameters ,optionsValue: 'Bit63', optionsText: 'DisplayText', selectedOptions: SelectedConfigParams,select2: { placeholder: 'Choose...' }"></select>
这是我的绑定处理程序:
ko.bindingHandlers.select2 = {
init: function (element, valueAccessor) {
var options = ko.toJS(valueAccessor()) || {};
setTimeout(function () {
$(element).select2(options);
}, 0);
},
update: function (element, valueAccessor, allBindings) {
console.log("update called");
}
};
我还有其他所有具有类似功能的选择元素。当用户选择所需信息并单击提交时,我将数据保存到数据库中。完成此操作后,我需要清除选择框中的值。我编写了一个代码来删除“SelectedConfigParams”中的所有元素。但是这些值并没有从选择元素中删除。在图像中,您可以看到,在清除选定的选项后,选择元素仍然显示先前选择的值。 (SelectedConfigParams 是一个 ko.observableArray())。
【问题讨论】:
-
什么是jQuery的select2?请添加更多代码,理想情况下,也是一个小提琴。至少是 HTML、jQuery 的 select2(或对它的作用的解释)、模型和对 applyBindings 的调用。如果没有,就无法帮助您
-
@JotaBe 请查看此链接。 ivaynberg.github.io/select2 这是我的第一个 Web 应用程序(也是 Knockout 的新手)。
-
所有必需的信息都是回答您的问题所必需的。请将其添加到您的问题中,否则它可能会被关闭为“不清楚您的要求”。不要将此信息添加为评论
标签: knockout.js jquery-select2