js 动态方法调用经验分享
html代码
<tr>
<td>用户名:</td>
<td><input class="easyui-textbox" type="text" name="username" data-options="required:true,validType:['length[5,10]','checkName']"></input></td>
</tr>
js代码
//给所有a标签都注册一个事件
$("a").on("click", function () {
//动态获取data-method属性对应的值
var method = $(this).data("method");
//method不能为空
if(method){
//动态触发事件
cdebai[method]();
}
});
cdebai= {
//高级查询 easyui 高级查询
"search": function () {
//把form表单元素,直接封装成一个json对象
var jsonObj = $("#searchForm").serializeObject();
//加载datagrid
dg.datagrid('load', jsonObj);
},
//删除
"delete": function () {
//获取选中的行
var rows = dg.datagrid("getSelections");
//在js中认为false的值:0 false "" null NaN undefined
if (!rows.length) {
$.messager.alert('操作错误', '亲!请选中数据进行删除!', 'error');
return;
}
//定义一个数组,该数组把所有的id都给装进来
var ids = [];
//循环数组中的所有数据
$.each(rows, function (i, o) {
//把id装进数组中
ids.push(o.id);
});
$.messager.confirm('确认', '你确定要离我而去吗?', function (r) {
if (r) {
$.get("/employee/delete", {"ids": ids.toString()}, function (result) {
if (result.success) {
//刷新界面
dg.datagrid("reload");
} else {
$.messager.alert('失败', result.msg, 'error');
}
});
}
});
},
//添加按钮,弹出窗体
"add": function () {
//显示密码框
$("tr[data-password]").show();
//清空form表单中所有的值
ff.form("clear");
//启用密码框的验证
$("#password").textbox("enableValidation");
$("#configPassword").textbox("enableValidation");
//弹出窗体,居中,并且设置标题,动态修改高度
dlg.dialog("open").dialog("center").dialog("setTitle", "添加员工").dialog("resize", {
height: 350
});
},
//修改按钮,弹出窗体
"edit": function () {
//获取即将要修改的数据(单个对象)
var row = dg.datagrid("getSelected");
//没有选中就会返回null
if (!row) {
$.messager.alert('操作错误', '亲!请选中数据进行修改!', 'error');
return;
}
//隐藏密码框
$("tr[data-password]").hide();
//清空form表单
ff.form("clear");
//动态添加属性
if (row.department) {
row["department.id"] = row.department.id;
}
//回显操作
ff.form('load', row);
//禁用密码框的验证
$("#password").textbox("disableValidation");
$("#configPassword").textbox("disableValidation");
//弹出窗体,居中,设置标题 动态修改它的宽度和高度
dlg.dialog("open").dialog("center").dialog("setTitle", "修改员工").dialog("resize", {
height: 270
});
},
//保存数据
"saveData": function () {
var url = "/employee/save";
if ($("#eid").val()) {
url = "/employee/update?cmd=update";
}
//提交form表单
ff.form('submit', {
url: url,
onSubmit: function () {//提交之前先做验证
return ff.form("validate");//验证通过之后才返回true,否则返回false,false它会阻止你提交
},
success: function (data) {
try{
//把json字符串转为对象
var result = $.parseJSON(data);
if (result.success) {
//关闭窗体
dlg.dialog("close");
//刷新界面
dg.datagrid("reload");
} else {
$.messager.alert('操作错误', result.msg, 'error');
}
}catch(e){
$.messager.alert('操作错误', "对不起你没有对应的权限!!!", 'error');
}
}
});
}
}