私は剣道のコントロール(特にGrid
とDrop Down Lists
)を扱っています。機能が初めて起動しない
ダブルクリックイベントの剣道グリッドコンポーネントにはハンドラが組み込まれていないので、これを回避するためにJQueryをコーディングしました。
ブラウザコンソールを調べると、ダブルクリックイベントがトリガされ、グリッドから抽出された関連するデータ項目が表示されます。
問題はダブルクリック機能内から呼び出されたapplySelections
にあります。選択した行のデータに基づいて、6つの剣道ドロップダウンから値をあらかじめ選択します。これに続いて、関連するフィルタを適用するために、各ドロップダウンリストの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あなたのため... – DiniZx
優秀な仕事はこれまで..それを維持、Uはそこに行きます#信じる(Upvoteあなたのため) –
ファンタスティックな仕事のラボ。点灯しておいてください。 –