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

本文介绍了一种针对EasyUI框架表单组件的扩展方法,通过新增setValues方法实现批量填充表单输入框的功能。该方法接收数据对象及待填充输入框ID列表作为参数,并能根据指定的数据项自动填充对应的表单元素。

因项目需要根据获得的数据对对话框的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包含的所有输入框。




评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值