0

我扩展了多选小部件,没有什么特别的。问题是值的绑定不再起作用。在第一个示例中,我使用本机小部件并很好地绑定值。第二个是我使用扩展多选的地方,它在值绑定上失败并且是空白的。

HTML:

<selectdata-role="multiselect"data-bind="source: selectData, value: selectedIDs"data-text-field="Name"data-value-field="ID"></select>
<selectdata-role="multiselectcustom"data-bind="source: selectData, value: selectedIDs"data-text-field="Name"data-value-field="ID"></select>

Javascript:

//EXTEND MULTISELECT WITH NOTHING MUCH
kendo.ui.plugin(kendo.ui.MultiSelect.extend({
    init: function(element, options) {
        kendo.ui.MultiSelect.fn.init.call(this, element, options);
    },
    options: {
        name: 'MultiSelectCustom'
    }
}));

varviewModel = kendo.observable({
    selectedIDs: [ 1, 3 ],
    selectData: [{
        Name: 'Bill Smith',
        ID: 1
    }, {
        Name: 'Jennifer Jones',
        ID: 2
    }, {
        Name: 'Tim Philips',
        ID: 3
    }]
});

kendo.bind('body', viewModel);

在此处输入图像描述

我想我可以再次为“值”重新创建活页夹,但这确实是一个错误吗?我有一个 jsFiddle 可以证明这一点:http: //jsfiddle.net/basememara/2Dacw/9/

4

1 回答 1

2

这不是一个错误,因为 multiselect 为其设置了自定义活页夹。您可以尝试为新的扩展角色复制多选的活页夹。

尝试这个:

 kendo.data.binders.widget.multiselectcustom = kendo.data.binders.widget.multiselect;

您可以将它放在小部件扩展代码之前/之后,但这应该告诉绑定函数如何正确绑定到您的小部件。

我还会看一下自定义活页夹的剑道文档,尽管它不是很详尽但要注意

于 2013-10-31T19:01:17.913 回答