1. 程式人生 > >給EasyUi的Form加入自己主動填充部分輸入框的方法

給EasyUi的Form加入自己主動填充部分輸入框的方法

eth nic dsm 主動 col 沒有 form pop dial

依據項目須要,基於獲取的數據對Form的部分輸入框進行填充,而默認的EasyUI的Form 沒有該方法。僅僅能一個輸入框一個輸入框的直接賦值,為此添加了Form對象的setValues,實現依據給定的Id來填充的功能。代碼例如以下:

$.extend($.fn.form.methods, {
    setValues: function (myself, data) {
        var form = $(myself);
        
        var opts = $.data(form[0], "form").options;
        
        var cols = "," + data.items + ",";
        for (var name in data.row) {
            if (cols.indexOf(name) >= 0) {
                var val = data.row[name];                
                form.find("[id=\"" + name + "\"]").textbox("setValue",val);
            }
        }
        
        opts.onLoadSuccess.call(form, data);
        form.form("validate");
    }
});
使用上述代碼的示比例如以下:

function reply() {
    var row = $('#feedbackGrid').datagrid('getSelected');
    if (row) {
        $('#feedbackDlg').dialog('open').dialog('setTitle', '反饋回復');
        var obj = {};
        obj.row = row;
        obj.items = "nickName,userId";

        $('#fm').form('setValues', obj);
        url = 'feedback/reply';
    }
}
如上所述。傳入setValues方法的參數分成兩個元素,一個是row,其包括實際的數據對象;還有一個是items,其包括須要填充的HTML對象的id,多個id之間用半角逗號隔開。




給EasyUi的Form加入自己主動填充部分輸入框的方法