我正在使用Kendo控件(特別是Grid
和Drop Down Lists
)。函數第一次沒有觸發
由於Kendo Grid組件中沒有內置處理程序用於雙擊事件,所以我編寫了一些JQuery來解決這個問題。
從檢查瀏覽器控制檯,我可以看到觸發的雙擊事件以及從網格中提取的相關數據項。
問題出在applySelections
在雙擊函數中調用。我想根據所選行的數據預先選擇六個Kendo Drop Downs中的值。在此之後,我觸發每個下拉列表中的change
事件以應用相關的過濾器。
$(document).ready(function() {
var grid = $("#grid").data("kendoGrid");
grid.tbody.on("dblclick", "tr", function (e) {
var test = grid.dataItem(this);
applySelections(grid.dataItem(this));
});
function applySelections(item) {
$('#ddl1').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[0].ID;
});
$('#ddl2').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[1].ID;
});
$('#ddl3').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[2].ID;
});
$('#ddl4').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[3].ID;
});
$('#ddl5').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[4].ID;
});
$('#ddl6').data('kendoDropDownList').select(function (dataItem) {
return dataItem.ID === item.subItems[5].ID;
});
$("#ddl1").data("kendoDropDownList").trigger("change");
$("#ddl2").data("kendoDropDownList").trigger("change");
$("#ddl3").data("kendoDropDownList").trigger("change");
$("#ddl4").data("kendoDropDownList").trigger("change");
$("#ddl5").data("kendoDropDownList").trigger("change");
$("#ddl6").data("kendoDropDownList").trigger("change");
}
}
在第一次雙擊時,我已經跟蹤了代碼並可以看到正在執行的初始雙擊函數。但是,applySelections
函數中的select
事件都沒有被觸發。下一次,每個下拉菜單執行相同的代碼,並觀察預期的結果。
良好的工作,所以... upvote for you ... – DiniZx
到目前爲止工作出色。繼續保持,U會到達#believe(Upvote for you) –
夢幻般的工作實驗室。保持呃點亮。 –