首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knockout Kendo MultiSelect: Enter Key Clears先前选择的值

Knockout Kendo MultiSelect: Enter Key Clears先前选择的值
EN

Stack Overflow用户
提问于 2015-10-14 01:43:17
回答 1查看 563关注 0票数 3

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

视图

代码语言:javascript
复制
<select data-bind="kendoMultiSelect: { data: choices, value: selectedChoice }"></select>
Selected: <strong data-bind="text: selectedChoice"> </strong>

查看模型

代码语言:javascript
复制
var ViewModel = function() {
this.choices = ko.observableArray(["apple", "orange", "banana"]);
this.selectedChoice = ko.observable();
};

ko.applyBindings(new ViewModel());

Knockout-Kendo网站上有一个有效的示例。HERE

请看下面的小提琴:

JSFiddle

EN

回答 1

Stack Overflow用户

发布于 2015-10-14 04:53:54

感谢一位同事找到了这个!

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

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

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

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33109219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档