Javascript 如何从kendoListBox中删除所有项目
我有两个肯多列表框,它们之间交换物品。基本上是一对可用项和一对选定项。 我有一个Json服务,它通过Json数组控制哪些项目可用。Javascript 如何从kendoListBox中删除所有项目,javascript,kendo-ui,Javascript,Kendo Ui,我有两个肯多列表框,它们之间交换物品。基本上是一对可用项和一对选定项。 我有一个Json服务,它通过Json数组控制哪些项目可用。 当用户选择一个新过滤器时,我希望在从服务器添加新项目之前,两个剑道列表框都清除项目。 当前,它将新列表从服务器追加到当前列表 $(document).ready(function () { $("#filterKeyWord").click(function () { getResults($("#keywords")); });
当用户选择一个新过滤器时,我希望在从服务器添加新项目之前,两个剑道列表框都清除项目。
当前,它将新列表从服务器追加到当前列表
$(document).ready(function () {
$("#filterKeyWord").click(function () {
getResults($("#keywords"));
});
$("#availableReports").kendoListBox({
dataTextField: "Name",
dataValueField: "ID",
connectWith: "selectedReports",
dropSources: ["availableReports"],
toolbar: {
tools: ["transferTo", "transferFrom", "transferAllTo", "transferAllFrom", "remove"]
}
});
$("#selectedReports").kendoListBox({
dataTextField: "Name",
dataValueField: "ID",
dropSources: ["selectedReports"],
remove: function (e) {
setSelected(e, false);
},
add: function (e) {
setSelected(e, true);
}
});
var mydata = { ReportName: "", UserId: "" };
mydata.ReportName = "SomeName";
mydata.UserId = "SomeUser";
var crudService = "",
dataSource = new kendo.data.DataSource({
serverFiltering: true,
transport: {
read: {
url: crudService + "GetReportList",
dataType: "json",
type: "get",
contentType: "application/json; charset=utf-8",
},
update: {
url: crudService + "SaveReportList2",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "post",
},
filter: {
url: crudService + "GetReportList",
dataType: "json",
type: "get",
contentType: "application/json; charset=utf-8",
},
parameterMap: function (options, operation) {
console.log(operation);
if (operation !== "read" && options.models) {
return JSON.stringify({ models: options.models });
}
if (operation === "read") {
return "request=" + JSON.stringify(mydata);
}
}
},
batch: true,
requestStart: function () {
kendo.ui.progress($(".demo-section"), true);
console.log("request start");
},
requestEnd: function () {
kendo.ui.progress($(".demo-section"), false);
console.log("request end");
},
error: function (e) {
console.log("Error" + e);
},
change: function (e) {
console.log("change" + this.data.length);
setDropDownBoxes(this);
},
schema: {
model: {
id: "ID",
fields: {
ID: { type: "number" },
Selected: { type: "boolean" },
Name: { type: "string" },
Description: { type: "string" },
InternalId: { type: "string" }
}
}
}
});
$("#saveReportList").kendoButton({
click: function (e) {
dataSource.sync();
}
});
$("#getReportList").kendoButton({
click: function (e) {
mydata.ReportName = $("#keywords").val();
dataSource.read();
}
});
function setDropDownBoxes(obj) {
var data = obj.data();
var availableReports = $("#availableReports").data("kendoListBox");
var selectedReports = $("#selectedReports").data("kendoListBox");
var items = availableReports.dataItems();
for (var i = 0; i < data.length; i++) {
if (data[i].Selected) {
selectedReports.add(data[i]);
}
else {
availableReports.add(data[i]);
}
}
}
function setSelected(e, flag) {
var removedItems = e.dataItems;
for (var i = 0; i < removedItems.length; i++) {
console.log(flag + " " + removedItems[i].ID + " " + removedItems[i].Name + " " + removedItems[i].Selected);
var item = dataSource.get(removedItems[i].ID);
item.Selected = flag;
item.dirty = !item.dirty;
}
}
});
$(文档).ready(函数(){
$(“#过滤器关键字”)。单击(函数(){
获取结果($(“#关键字”);
});
$(“#可用报告”).kendoListBox({
dataTextField:“名称”,
dataValueField:“ID”,
连接方式:“selectedReports”,
dropSources:[“availableReports”],
工具栏:{
工具:[“transferTo”、“transferFrom”、“transferAllTo”、“transferAllFrom”、“remove”]
}
});
$(“#selectedReports”).kendoListBox({
dataTextField:“名称”,
dataValueField:“ID”,
dropSources:[“selectedReports”],
删除:功能(e){
(e,假);
},
加:职能(e){
(e,真);
}
});
var mydata={ReportName:,UserId::};
mydata.ReportName=“SomeName”;
mydata.UserId=“SomeUser”;
var crudService=“”,
dataSource=新建kendo.data.dataSource({
是的,
运输:{
阅读:{
url:crudService+“GetReportList”,
数据类型:“json”,
键入:“获取”,
contentType:“应用程序/json;字符集=utf-8”,
},
更新:{
url:crudService+“SaveReportList2”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
类型:“post”,
},
过滤器:{
url:crudService+“GetReportList”,
数据类型:“json”,
键入:“获取”,
contentType:“应用程序/json;字符集=utf-8”,
},
parameterMap:功能(选项、操作){
控制台日志(操作);
if(操作!=“读取”&&options.models){
返回JSON.stringify({models:options.models});
}
如果(操作==“读取”){
return“request=“+JSON.stringify(mydata)”;
}
}
},
批次:对,
requestStart:函数(){
kendo.ui.progress($(“.demo节”),true;
日志(“请求启动”);
},
requestEnd:函数(){
kendo.ui.progress($(“.demo节”),false;
控制台日志(“请求结束”);
},
错误:函数(e){
控制台日志(“错误”+e);
},
更改:功能(e){
log(“change”+this.data.length);
设置下拉框(此);
},
模式:{
型号:{
id:“id”,
字段:{
ID:{type:“number”},
所选:{type:“boolean”},
名称:{type:“string”},
描述:{type:“string”},
内部ID:{type:“string”}
}
}
}
});
$(“#保存报告列表”)。肯多布顿({
点击:功能(e){
dataSource.sync();
}
});
$(“#getReportList”).kendoButton({
点击:功能(e){
mydata.ReportName=$(“#关键字”).val();
dataSource.read();
}
});
功能设置下拉框(obj){
var data=obj.data();
var availableReports=$(“#availableReports”).data(“kendoListBox”);
var selectedReports=$(“#selectedReports”).data(“kendoListBox”);
var items=availableReports.dataItems();
对于(变量i=0;i
不确定应该在您的列表中的具体位置执行提示,但是,您可以同时使用和方法来清除列表框
remove()
方法接受li
元素的列表,这是items()
返回的内容,因此它将从列表中删除整个li
集合
var listBox = $("#listBox").data("kendoListBox");
listBox.remove(listBox.items());