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

修改KendoUI DropDownList边框颜色时数据丢失问题求助

问题原因分析

嘿,我来帮你捋捋这个问题的根源——你每次点击按钮时都重复初始化了Kendo DropDownList组件,这直接导致了下拉数据丢失。

看你代码里的这行:

var dd = $('#myColor').kendoDropDownList().data("kendoDropDownList");

当你调用$('#myColor').kendoDropDownList()时,不管这个组件之前有没有被初始化过,它都会重新创建一个全新的DropDownList实例,把原来绑定的数据源、组件配置全部覆盖掉,下拉列表里的内容自然就消失了。

解决方案

正确的做法是直接获取已经存在的组件实例,而不是每次点击都重新初始化。修改后的代码如下:

$(document).ready(function() {
    // 页面加载时只初始化一次DropDownList(这部分是你原本就该有的初始化逻辑)
    $('#myColor').kendoDropDownList({
        dataSource: ["选项1", "选项2", "选项3"], // 替换成你的实际数据源
        // 其他配置项比如placeholder、value等按需添加
    });

    $('#btn').on('click', function() {
        // 直接获取已创建好的DropDownList实例
        var dd = $('#myColor').data("kendoDropDownList");
        // 先判断实例存在再修改样式,避免报错
        if (dd) {
            dd.wrapper.find(".k-input").css("border", "2px solid red");
        }
    });
});
关键说明
  • 组件初始化只需要在页面加载完成时执行一次,后续所有操作都通过data("kendoDropDownList")获取已有的实例。
  • 增加if (dd)的判断,可以避免因组件未完成初始化就触发点击事件导致的报错,让代码更健壮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:45:56