您的位置:首页 > 产品设计 > UI/UE

给EasyUi的Form添加自动填充部分输入框的方法

2015-07-24 17:50 519 查看
根据项目需要,基于获取的数据对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