我有一个Kendo MultiColumnDropDown,它有2列,一列是复选框,另一列是数据。
每次我选中一个复选框,然后下拉框关闭,我不希望发生这种情况,直到我自己关闭它,我不知道如何停止select事件或停止下拉框关闭,直到我关闭它。
$(document).ready(function() {
LoadMCDD(MCDDData());
});
function LoadMCDD(ds) {
let a = ds[0].DropData;
let arr = a.split('|');
let obj = [];
for (let i = 0; i < arr.length; i++) {
obj.push({
DropData: arr[i]
});
}
$('#MCDDForPrompt').empty();
$('#MCDDForPrompt').kendoMultiColumnComboBox({
placeholder: "Select...",
dataTextField: "DropData",
dataValueField: "DropData",
height: 300,
autoClose: false,
columns: [{
template: "<center><input type='checkbox' class='checkbox' /></center>",
width: "30px"
},
{
field: "DropData",
title: "Data",
width: 200
}
],
dataSource: {
data: obj,
},
change: function(e) {
//console.log(e);
},
select: function(e) {
//console.log(e);
}
});
}
function MCDDData() {
let ds = [{
Answer: "",
DefaultAnswer: "",
DropData: "Check 1|Check 2|Check 3|Check 4",
}];
return ds;
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.3.1017/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.3.1017/styles/kendo.common-bootstrap.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.3.1017/styles/kendo.bootstrap.min.css" />
<div id="MCDDForPrompt" style="width:400px"></div>
发布于 2020-07-06 19:36:52
试试这个:
select: function(e) {
e.sender.element.data('fromSelect', true);
},
close: function(e) {
if (e.sender.element.data('fromSelect')) {
e.preventDefault();
e.sender.element.data('fromSelect', null);
}
}
$(document).ready(function() {
LoadMCDD(MCDDData());
});
function LoadMCDD(ds) {
let a = ds[0].DropData;
let arr = a.split('|');
let obj = [];
for (let i = 0; i < arr.length; i++) {
obj.push({
DropData: arr[i]
});
}
$('#MCDDForPrompt').empty();
$('#MCDDForPrompt').kendoMultiColumnComboBox({
placeholder: "Select...",
dataTextField: "DropData",
dataValueField: "DropData",
height: 300,
autoClose: false,
columns: [{
template: "<center><input type='checkbox' class='checkbox' /></center>",
width: "30px"
},
{
field: "DropData",
title: "Data",
width: 200
}
],
dataSource: {
data: obj,
},
select: function(e) {
e.sender.element.data('fromSelect', true);
},
close: function(e) {
if (e.sender.element.data('fromSelect')) {
e.preventDefault();
e.sender.element.data('fromSelect', null);
}
}
});
}
function MCDDData() {
let ds = [{
Answer: "",
DefaultAnswer: "",
DropData: "Check 1|Check 2|Check 3|Check 4",
}];
return ds;
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.3.1017/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.3.1017/styles/kendo.common-bootstrap.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.3.1017/styles/kendo.bootstrap.min.css" />
<div id="MCDDForPrompt" style="width:400px"></div>
https://stackoverflow.com/questions/62716705
复制相似问题