LigerUI 表單和表格中的combobox如何初始化值


摘要:

      在修改基礎信息的時候,通常會遇到需要修改值為選擇值的時候,這時候,數據庫存的一般是value,而不是顯示的text值,但頁面顯示的時候如果顯示成數字型的值,通常會給人不夠直觀的感覺。因此,要求頁面在加載的時候,根據value,初始化combobox的選擇值。

疑難點:

     表單配置值:  

{ display: Dictionary.mrl.mrl_class_gid, newline: true, name: "pid", type: "select", comboboxName: "pid_com", options: { textField: 'name', valueField: 'sysno', data: data, onSelected: f_select } }

    雖然ligerComboBox({})中有value的方法和屬性,但因為無法通過選擇器定位到該combobox,所以無法實現初始化值。

嘗試1:直接在options中添加value屬性。

{ display: Dictionary.mrl.mrl_class_gid, newline: true, name: "pid", type: "select", comboboxName: "pid", options: { textField: 'name', valueField: 'sysno', data: data, value: "5831531369ef4ec5bfafda73a0ed23c7" } }

  結果:失敗,並為加載成功

嘗試2:在formload以后,單獨調用ligerCombobox()方法。

api.loadForm($("#form1"), {
                        data: fdata
                    });

                    setTimeout(function () {                        
                        $("#pid_com").ligerComboBox({
                            data: data,onSelected: f_select,value:fdata.pid
                        });
                    }, 100);

     結果:失敗。應該是$選擇器的問題。

 利用selector將combobox內容打出:

{
    "context": {
        "location": {
            "hash": "",
            "search": "?type=modify&sysno=9f8cecaee89a49fdb02f7465f90ea418",
            "pathname": "/WebFiles/Material/Mrl_Class_Item.html",
            "port": "26003",
            "hostname": "localhost",
            "host": "localhost:26003",
            "protocol": "http:",
            "origin": "http://localhost:26003",
            "href": "http://localhost:26003/WebFiles/Material/Mrl_Class_Item.html?type=modify&sysno=9f8cecaee89a49fdb02f7465f90ea418",
            "ancestorOrigins": {
                "0": "http://localhost:26003",
                "1": "http://localhost:26003"
            }
        },
        "jQuery19009037283264977614": 1
    },
    "selector": "#pid_com"

}

可以看到,選擇器是沒有問題的,$("#pid_com"),那通過.val()賦值,不知道會不會成功呢

{"0":{},"length":1,"context":{"location":{"hash":"","search":"?type=modify&sysno=9f8cecaee89a49fdb02f7465f90ea418","pathname":"/WebFiles/Material/Mrl_Class_Item.html","port":"26003","hostname":"localhost","host":"localhost:26003","protocol":"http:","origin":"http://localhost:26003","href":"http://localhost:26003/WebFiles/Material/Mrl_Class_Item.html?type=modify&sysno=9f8cecaee89a49fdb02f7465f90ea418","ancestorOrigins":{"0":"http://localhost:26003","1":"http://localhost:26003"}},"jQuery1900602295770961512":1},"selector":"#pid"}
確定

 最終答案:

應該是選擇器用錯,應該用name的方式來獲取控件。 $("[name=pid_com]").val(fdata.pname);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM