Layui select賦值並觸發select事件

後臺管理使用的layui。一次select手動賦值操作發現沒有觸發該select的選中事件,琢磨了下做如下操作即可。
寫了個common.js常用操作的工具類,修改了賦值方法。

layui.define(['layer','form','laydate','dtree','carousel'],function (e) {
    let layer=layui.layer,form=layui.form,laydate=layui.laydate,dtree=layui.dtree,carousel=layui.carousel;
    e('common',{
		/**
         * 根據dom的id賦值/取值
         * @param id
         * @param value
         */
        byId:function(id,value){
            let tag=$("#"+id)[0].tagName;//獲取該dom的標籤類型
            switch (tag) {
                case "INPUT":
                    if(value){
                        $('#'+id).val(value);
                    }else{
                        return $('#'+id).val();
                    }
                    break;
                case 'SELECT'://如果爲select標籤
                    if(value){
                        let filter=$('#'+id).attr('lay-filter');//獲取該元素的layui選擇器,觸發事件用
                        $('#'+id).val(value);//先賦值
                        filter&&layui.event('form','select('+filter+')',{elem:$("#"+id),value:value});//觸發該標籤的select事件
                    }else{
                        return $('#'+id).val();
                    }
                    break;
            }
        },
	})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章