我一直在使用带有服务器端过滤功能的新Kendo UI Multiselect小部件,但是在输入最少数量的字符后,我只能进行ajax调用。我将autoBind和minLength选项分别设置为false和3。但是,只要我将光标放入文本字段,它就会发送一个ajax请求来获取选择选项。在发送另一个ajax请求并刷新选项列表之前,它会等到输入3个字符(或更多)。但是如何让它等到第一个ajax请求发送之前输入3个字符?以下是我配置multiSelect的方法:
$('#delegates').kendoMultiSelect(
{
autoBind: false,
minLength: 3,
placeholder: 'Select delegates...',
dataTextField: 'name',
dataValueField: 'personid',
filter: 'contains',
delay: 200,
dataSource: {
serverFiltering: true,
transport: {
read: {
url: '/my/remote/url',
dataType: 'json'
}
}
}
}
);
我已经查看了KendoUI网站上MultiSelect小部件的overview和API docs,它甚至没有出现我正在谈论的方法(我最初以为autoBind:false和minLength:3将是我的回答,但事实证明并非如此。所以我希望可能会遗漏一些东西。提前致谢。
答案 0 :(得分:1)
$("#products").kendoMultiSelect({
placeholder: "Select products...",
dataTextField: "name",
dataValueField: "id",
autoBind: false,
dataSource: {
transport:{
read:{
url:'products/api/get',
serverPaging:true,
pageSize:20,
contentType:'application/json; charset=utf-8',
type:'GET',
dataType:'json'
}
}
}
});
答案 1 :(得分:0)
我会选择解决方法。
如果我在这里使用FireBug检查KendoUI演示:Server Filtering Demo,则在页面加载后立即进行初始调用。 我认为这是设计的,并且在当前版本的小部件中是预期的。
由于这是一个新的小部件,请尝试联系Kendo-Team。运气好的话,在下一个版本中(或者之间的一些测试版)会有一个选项。