基于EasyUI实现自动填充Form内的部分输入框

来源:互联网 发布:淘宝质量好的女装品牌 编辑:程序博客网 时间:2024/06/06 02:07

因项目需要根据获得的数据对对话框的Form内部分输入框填充,而默认的EasyUI并不支持该方式,故对其进行了扩展,代码如下:

$.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");    }});

上述代码对EasyUI的Form对象增加了setValues方法。调用上述代码的示例如下:

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,其包含需要填充的输入框的Id号,多个Id之间用半角的逗号隔开。该方法用row中包含的值填充items包含的所有输入框。




0 0
原创粉丝点击