Jos*_*osh 5 javascript kendo-ui kendo-asp.net-mvc
我有一个包含3个选项的Kendo DropDownList(name = Function).当选择一个选项时,它会触发ajax调用以获取数据以填充不同的DropDownList(name = Parents).这符合预期.但是,如果用户然后将原始DropDownList"Function"更改回另一个选项,我需要清除/重置(删除所有选项)并禁用"Parents"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);
}
Run Code Online (Sandbox Code Playgroud)
这真的是"var dataSource = []"给我带来了问题.就像"Parents"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);
}
Run Code Online (Sandbox Code Playgroud)
使用级联下拉功能可能更容易.
当您更改dataSource时,它会删除下拉项,但您还需要清除所选文本并禁用该框,方法是:
dropdownBox.setDataSource(dataSource);
dropdownBox.text('');
dropdownBox.enable(false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19335 次 |
| 最近记录: |