EASYUI combobox 重写事件

版权声明:随意乱写,切勿当真! https://blog.csdn.net/pehao/article/details/82594569

在界面上写

        <select id="in3" class="easyui-combobox" style="font-weight: bold; font-size: 15px; color: #109a17;width:100px;" >
            <option value="1">A</option>
            <option value="2" selected="selected">B</option>
            <option value="3">C</option>
        </select>

其实在初始化好之后,select 已经初始化为 combobox

如果要重新绑定onChange事件时,如果这样写

            //设置为 C
            $("#in3").combobox('setValue', "3");

            //tag:1
            alert($("#in3").combobox('getValue'));

            //绑定事件
            $("#in3").combobox({
                onChange: function () {
                    alert();
                }
            });
            //tag:2 再看值
            alert($("#in3").combobox('getValue'));

tag:1  输出是 3

tag:2 输出是 2

为什么? 其实绑定事件时已经重新初始化了整个控件.

我的解决方法是:重写已经初始化的combobox中找到 onChange的js,然后重写

            //重写已经初始化的combobox中找到 onChange的js,然后重写
            $('#in3').data().combo.options.onChange = function () {
                alert(1);
            }

可以利用 $().data().combo.options中的所有初始化属性都可以重写

猜你喜欢

转载自blog.csdn.net/pehao/article/details/82594569