我想在用户选择项目后取消选择。 基本上我在一个窗口中有listview,一旦用户选择它,我想得到用户选择的项目然后用该项目的数据做一些事情,然后取消选择listview中的所有内容,因为下次窗口显示时我想要它成为一个新的清单(未选择的项目) 这是我到目前为止所拥有的
function listViewchanged(e) {
var ds = $("#listView").data("kendoListView");
var index = ds.select().index();
var dataItem = ds.dataSource.view()[index];
closeWindow();
}
答案 0 :(得分:3)
.clearSelecton()是你需要的方法,但代码如下:
$("#listView").kendoListView({
change: function(e){
e.sender.clearSelection();
}
});
会产生无限循环,因为.clearSelection()会触发'chage'事件。你可以做的是清楚选择window.open()事件或只是通过JS隐藏选定的项目:
function listViewchanged(e) {
var ds = $("#listView").data("kendoListView");
var index = ds.select().index();
var dataItem = ds.dataSource.view()[index];
ds.element.find('.k-state-selected').removeClass('k-state-selected');
closeWindow();
}
还有一个想法。如果在触发事件的情况下使用widget我建议在事件参数中使用.sender属性。所以最终的代码是:
function listViewchanged(e) {
var index = e.sender.select().index();
var dataItem = e.sender.dataSource.view()[index];
e.sender.element.find('.k-state-selected').removeClass('k-state-selected');
closeWindow();
}