天天看點

easyUI 渲染 combobox 加載資料源 && 添加自定義資料

最近接觸easyUI比較多,小知識點才做出來又遇到一樣的問題,腦子不好使,就記下來吧。

大概說明一下資料結構,AgentId對應Value,WebsiteName對應Text,至于從背景擷取資料原始的ajax都可以。首先定義一個空的集合,然後将自己要添加的那一列資料指派進去。

var array = {};

array.AgentId = 999;
        array.WebSiteName = "請選擇代理商";
        var newCombo;
        function getAllAgentInfo() {
            var strUrl = "GetAgentList";
            $.when(Lsxx.Ajax.Syn(Lsxx.Ajax.Method.Get, strUrl, null, 8000))
                .done(function (result) {
                    if (result != null && result.length > 0) {
                        result.unshift(array);
                        newCombo = result;
                    }
                });
        }

        getAllAgentInfo();
           

這邊用Get方法請求到背景傳過來的資料,擷取到資料以後可以看到array是有内容的,這裡用到unshift方法将array添加到結果集的前面。

easyUI 渲染 combobox 加載資料源 && 添加自定義資料

傳回出來新的集合如圖:

easyUI 渲染 combobox 加載資料源 && 添加自定義資料

下一步就是渲染combobox:

$('#seleAgentId').combobox({
            data: newCombo,
            valueField: 'AgentId',
            textField: 'WebSiteName',
            panelHeight: 'auto',
            editable: false,
            required: true,
            onLoadSuccess: function () { //加載完成後,設定選中第一項
                $(this).combobox("select", 999);
            }
        });
           

對應的綁定value和text,并在加載事件中預設選中第一條,這裡需要注意的是渲染一定要寫在請求資料之後,不然起不到效果的。

效果圖如下:

easyUI 渲染 combobox 加載資料源 && 添加自定義資料

END