如何清除/重置仅使用 javascript 的剑道下拉列表
How do I clear / reset a Kendo DropDownList with only javascript?
我有一个包含 3 个选项的 Kendo DropDownList (name=Function)。选择一个选项时,它会触发 ajax 调用以获取数据以填充不同的 DropDownList(名称 = Parent)。这按预期工作。但是,如果用户随后将原始的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 数据源 = []"给我带来了问题。就像应用"父项"下拉列表时不会刷新/重新绑定一样。除所选选项外的所有选项都将被删除,但如何删除之前选择的选项?我希望它再次"空"。
谢谢。
---- 我----使用的解决方案
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);
}
使用级联下拉功能可能更容易。
更改数据源时,它会删除下拉项,但您还需要通过调用以下命令清除所选文本并禁用该框:
dropdownBox.setDataSource(dataSource);
dropdownBox.text('');
dropdownBox.enable(false);
如果已为父项和子项下拉列表定义了数据源,则可以在子项中使用 cascadeFrom('parent') 方法,并设置一个可以标识为 null 或清除的值。
相关文章:
- 如何使用Python/Selenium网络驱动程序处理Angularjs/Javascript下拉列表
- 通过硒选择一个javascript下拉列表
- javascript下拉列表-无法添加链接
- JavaScript下拉列表根据值隐藏/显示表行
- 在 JavaScript 下拉列表中自动生成年份
- 在 Javascript 下拉列表中添加 HTML 代码,Javascript 不评估 HTML 代码
- Javascript下拉列表工作,但显示空值
- JavaScript下拉列表不起作用
- Javascript 下拉列表具有多个值的情况
- 多个动态 JavaScript 下拉列表
- 闪烁的CSS和Javascript下拉列表
- Javascript下拉列表会在我选择之前出现
- Php, mysql, javascript下拉列表
- 克隆@Html.使用javascript下拉列表.净MVC
- Javascript下拉列表没有响应
- 用PHP数组填充Javascript下拉列表
- HTML JavaScript下拉列表已选择索引
- 在对象的javascript下拉列表中显示一个值
- Javascript下拉列表不起作用
- 单击Javascript下拉列表