You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kendo Grid外键列下拉值变更事件监听失效求助

Kendo Grid外键列下拉框值变更事件监听解决方案

你遇到的问题核心是:给外键列设置的id="colChanged"仅作用于初始渲染的静态元素,而Grid进入编辑模式时,下拉框是动态生成的,静态绑定的change事件无法捕获动态元素的事件。以下是两种可行解决方案:


方案1:使用事件委托(推荐)

通过Grid的父容器委托监听动态生成的下拉框事件,无需关心元素何时创建:

// 替换#yourGridId为你的Grid实际ID
$("#yourGridId").on("change", "select[data-field='Colour']", function() {
    var selectedValue = $(this).val();
    console.log("Selected value..: " + selectedValue);
});

说明:Kendo会给编辑状态下的外键下拉框自动添加data-field属性,值对应绑定的字段名(这里是Colour),用这个属性定位能精准匹配目标下拉框,同时避免ID重复的问题。


方案2:利用Grid的edit事件绑定组件事件

通过Grid内置的edit事件,在进入编辑模式时直接获取下拉框组件并绑定事件:

$("#yourGridId").kendoGrid({
    // 你的Grid其他配置项...
    edit: function(e) {
        // 获取外键列对应的下拉框组件
        var dropdown = e.container.find("[data-field='Colour']").data("kendoDropDownList");
        if (dropdown) {
            dropdown.bind("change", function() {
                var selectedValue = this.value();
                console.log("Selected value..: " + selectedValue);
            });
        }
    }
});

说明:这是Kendo官方推荐的组件事件绑定方式,能直接获取下拉框的Kendo实例,还可以调用组件的其他方法(比如text()获取显示文本)。

内容的提问来源于stack exchange,提问作者melspring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:29:54