【问题标题】:How do you prevent a Kendo UI combobox from refilling on Data Read?如何防止 Kendo UI 组合框在读取数据时重新填充?
【发布时间】:2014-07-01 15:34:22
【问题描述】:

我正在使用 Kendo UI 在我的页面上实现几个组合框。第二个组合框依赖于第一个组合框的值来填充,但我不想使用“级联”选项,因为不应禁用第二个组合框。

我的问题如下:
更改组合框 A 时,组合框 B 应在其下拉列表中填充适当的值,但框本身应清晰。我清除了 Combobox B 的文本和值,但是当我运行数据源读取或任何内容时,组合框会重新填充旧文本。

子实体是组合框 B:

    var subentity = $('#subentity').getKendoComboBox();

    $("#subentity").val(null);
    subentity.value(null);

    subentity.dataSource.data({});

    subentity.text('');

我尝试了几个选项,并移动了值被清除的地方,但似乎无法让它工作。

有什么想法吗?谢谢!

编辑:组合框 B(子实体)初始化如下:

$("#subentity").kendoComboBox({
    placeholder: "--- Enter a Sub-Entity ---",
    autoBind: false,
    animation: false,
    dataSource: {
        type: "json",
        serverFiltering: true,
        transport: {
            read: {
                url: ResolveUrl('~/Entity/GetSubentities')
            },
            parameterMap: function () {
                return {
                    entityId: $('#hdnEntityId').val(),
                    subentityName: $("#subentity").data("kendoComboBox").text()
                }
            }
        }
    },
    dataTextField: "Name",
    dataValueField: "Id",
    delay: 500,
    change: onChangeOfSubentityCombo,
    filter: "contains",
    suggest: true,
    value: $('#hdnSubentityName').val()
});

【问题讨论】:

  • 你能在 jsFiddle 或 jsBin 中做一个完整的例子吗?目前尚不清楚当下拉列表 A 更改时您在哪里获得下拉列表 B 的新值,以及您在哪里执行 dataSource.read()
  • @CodingWithSpike 制作小提琴可能很困难,因为我通过 MVC 控制器从数据库中提取信息。我已经用子实体数据源更新了我的问题,希望能有所帮助。

标签: javascript kendo-ui kendo-combobox


【解决方案1】:

我认为你的价值正在被这条线取代。

value: $('#hdnSubentityName').val()

改成

value:""

这将导致您的“--- Enter a Sub-Entity ---”字段显示,但是,您也可以将占位符设置为空白。

placeholder: ""

【讨论】:

  • 我在这方面工作了几天。天。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
  • 2013-03-12
  • 2021-07-23
  • 2013-03-10
  • 1970-01-01
相关资源
最近更新 更多