javascript - knockout -剑道多选 : Enter Key Clears Previously Selected Values

标签 javascript jquery knockout.js knockout-kendo

我正在使用 Knockout-Kendo MultiSelect 控件。如果我从列表中选择一个值,然后输入第二个值并单击 Enter,则先前输入的值将被删除。

查看

<select data-bind="kendoMultiSelect: { data: choices, value: selectedChoice }"></select>
Selected: <strong data-bind="text: selectedChoice"> </strong>

查看模型

var ViewModel = function() {
this.choices = ko.observableArray(["apple", "orange", "banana"]);
this.selectedChoice = ko.observable();
};

ko.applyBindings(new ViewModel());

Knockout-Kendo 网站上有一个工作示例。 HERE

请参阅下面的 fiddle :

JSFiddle

最佳答案

感谢同事发现了这个!

此版本的 Kendo (V.2015.1.429) 和 Knockout-Kendo 存在兼容性问题。

显然这是一个已知问题: Here

快速修复(自定义绑定(bind)):

ko.bindingHandlers.multiSelect = {
        init: function (element, valueAccessor, allBindings, data, context) {
        var options = ko.toJS(valueAccessor());

        options.change = function (e) {
            valueAccessor().value(e.sender.value());
        }

        $(element).kendoMultiSelect(options);
        var multiselect = $(element).data("kendoMultiSelect");    

        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
            multiselect.destroy();
        });
    }
};

工作示例 JSFiddle

关于javascript - knockout -剑道多选 : Enter Key Clears Previously Selected Values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109219/

相关文章:

user-interface - 在没有 JS 的情况下,我应该使用什么策略进行多房间预订选择?

javascript - Firefox 在文档更新时闪烁

javascript - 检测打印(不是打印预览)事件

javascript - Mongoose 顺序 promise

javascript - KnockoutJS ArrayFirst 无法按预期工作

javascript - 在 Knockout 中“取消销毁”一个对象

javascript - 不要将 Google 托管的 CDN jQuery 用于 Shopify - 有什么替代方案?

javascript - 使用jquery插入了错误数量的子div

jquery - 动态调整输入大小

javascript - 在 Knockout JS 中具有揭示原型(prototype)模式的计算可观察量