根据项目需要,基于获取的数据对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之间用半角逗号隔开。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/mole/article/details/47044713