3 つのオプションを含む Kendo DropDownList (name=Function) があります。1 つのオプションが選択されると、別の DropDownList (name=Parents) に入力するデータを取得するための ajax 呼び出しがトリガーされます。これは期待どおりに機能します。ただし、ユーザーが元の DropDownList の「機能」を別の選択に戻した場合は、クリア/リセット (すべてのオプションを削除) し、「親」の DropDownList を無効にする必要があります。
function LoadKendoDropdownContents(dropdownBoxId, data) {
var dropdownBox = $("#" + dropdownBoxId).data("kendoDropDownList");
if (data === "" || data === null || $.isEmptyObject(data)) {
var dataSource = [];
}
else {
var dataSource = data;
}
dropdownBox.setDataSource(dataSource);
}
問題を引き起こしているのは、実際には「var dataSource = []」です。それが適用されたときに「親」DropDownListが更新/再バインドされないようです。選択したオプション以外はすべて削除されますが、以前に選択したオプションを削除するにはどうすればよいですか? もう一度「空」にしたい。
ありがとうございました。
----私が使用したソリューション----
function LoadKendoDropdownContents(dropdownBoxId, data) {
var dropdownBox = $("#" + dropdownBoxId).data("kendoDropDownList");
if (data === "" || data === null || $.isEmptyObject(data)) {
var dataSource = new kendo.data.DataSource({
data: []
});
dropdownBox.text(" --- ");
dropdownBox.value(-1);
}
else {
var dataSource = new kendo.data.DataSource({
data: data
});
dropdownBox.text("[Select]");
dropdownBox.value(-1);
}
dropdownBox.setDataSource(dataSource);
}