【问题标题】:Kendo Combobox Change event fires twiceKendo Combobox Change 事件触发两次
【发布时间】:2016-09-01 15:32:32
【问题描述】:

我在 Change 事件中有 Kendo Combobox,我正在使用 Jquery Ajax 调用控制器动作。第一次在从 Combobox 中选择任何项目时调用动作并获得所需的数据。 但是在 ComboxBox 焦点输出(当我单击屏幕上的任何位置时),正在调用相同的操作。 我的剑道组合框如下:

$("#Number").kendoComboBox({
                        dataTextField: "NUM",
                        dataValueField: "ID",
                        dataSource: new kendo.data.DataSource({
                            transport: {
                                read: {
                                    url: ResolveUrl("/CreateMaintainAnalysis/GetAnalysisNumbers/"),
                                    type: "POST",
                                    dataType: "json",
                                    data: function () {
                                        return {
                                            Number: $("#Number").data("kendoComboBox").input.val()
                                        };
                                    }
                                },

                            },
                            requestEnd: function (e) {
                                if (WebApp.CLAF.LoggedInUser.Info.IS_ANALYST == 'Y') {
                                    e.response.unshift({ ID: -1, NUM: 'Create New Analysis' });
                                }
                                else {
                                    e.response.unshift({ ID: -2, NUM: 'Select' });
                                }
                            },
                            serverFiltering: true
                        }),
                        filter: "startwith",
                        suggest: true,
                        minLength: 5,
                        highlightFirst: true,
                        index:0,
                        change: function (dataItem) {
                              $.ajax({
                                 type: "POST",
                                 data: { ID: ID },
                                 url: ResolveUrl("/Analysis/Data"),
                                 success: function (result) {
                                 },                 
                                });
                         }
                      });

这是非常奇怪的行为,我无法理解。

【问题讨论】:

  • 你能在这里实现吗dojo.telerik.com/UziZo ?
  • @DontVoteMeDown...这里按预期工作..可能是页面上插入了一些无效代码..需要调查..但无法找到它
  • 我的意思是,你的代码看起来不错。无法判断仅此 sn-p 可能是您的问题。如果您可以添加更多代码,将会很有帮助。

标签: javascript jquery kendo-ui kendo-combobox


【解决方案1】:

请在 dataSource 内部添加 autoBind: false,默认情况下为 true,这通常是在任何焦点输入/输出或单击事件时从内部发送额外 API 调用的原因。

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 2020-03-07
    • 2021-03-17
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多