剑道多选择与tab键选择
Kendo multi-select with tab key selection
我正试图实现一个功能来选择一个项目在剑道的多选择控件与服务器过滤。当用户按TAB键选中项目时。下面是我的keep down事件代码:
if (e.keyCode === 9) {
var selectedItem = multiSelect.current();
if (selectedItem) {
var selectedIndex = selectedItem.data("idx");
if (selectedIndex >= 0) {
var currentValue = multiSelect.value().slice();
var dataitems = multiSelect.dataSource.view();
var selectedDataItem = dataitems[selectedIndex];
multiSelect.dataSource.filter({});
currentValue.push(selectedDataItem.relatedId);
multiSelect.value(currentValue);
multiSelect.trigger("change");
}
}
}
但它工作得很好,只要我在相同的数据视图中搜索,也就是说,我选择两个值开始与云,然后我选择一个值开始与App,然后剑道将删除前两个值开始与云和控制将只包含一个值选择在最后。
我调试了kendo的代码,因为它在dataSource.view中找到了值,所以kendo的函数_index出现了问题
我在http://dojo.telerik.com/OtAvi
您的代码不工作,因为您在数据源中将serverFiltering
设置为true
:
dataSource: {
type: "odata",
serverFiltering: true,
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
}
}
},
由于数据在服务器上被过滤,呼叫multiSelect.dataSource.filter({});
只清除已经过滤的数据。话虽如此,当调用multiSelect.value(currentValue);
时,只能选择当前过滤的数据源中的值。这会导致选择只保存当前dataView中的项。
除非你有强烈的理由不这样做,否则你最简单的解决方法是将serverFiltering
设置为false
。
相关文章:
- Jquery自动完成:如果没有选择任何项目,则使tab键选择第一个项目
- 选择 UI-TAB 的模板
- Ajax Tab - javascript 来检查选择了哪个选项卡
- 用于使用 Tab 键选择项目的事件
- 在按 Tab 键时选择文本区域文本
- 每次按 TAB 键时选择不同的单词
- 不能使用Tab键选择剑道多选的数据
- bootstrap3-typeahead用TAB选择第一个元素
- 用鼠标点击输入和用tab选择有什么区别?
- 如何取消选择文本框的文本,当它得到焦点时,当tab被按下
- 文本框检测输入键后TAB键选择自动补全字
- Angular TAB选择打开新页面,而不是在同一页面中打开
- 按钮的背景颜色没有通过tab键选择而改变
- Zurb foundation 5.2 -在回发时维护TAB选择/状态
- ExtJS 4.2 - Tab 在组合框中选择错误的值,键入快速键入时为 typeAhead:true
- 如何使用 Tab 键选择Zebra_Datepicker
- jQuery选择插件:捕获焦点以在Tab时打开
- Jquery带有下拉选择器的选项卡选择器,下拉选择器不匹配TAB开关
- HTML中的TAB:默认选择第一个TAB
- 剑道多选择与tab键选择