js动态调用方法

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');
                    }
                }
            });
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值