easyui dialog点修改按钮将当前修改行的数据赋值给修改窗口的文本框?

我需要点击修改按钮时,将我当前选中行的数据对应的赋值给dialog弹出的修改窗口,看一下代码吧

  {
            text: '修改',
            iconCls: 'icon-edit',
            handler: function () {
                var row = $('#tab').datagrid('getSelected');
                if (row == null)
                {
                    $.messager.alert("系统提示", "请选择您要修改的数据!");
                    return;
                }
                if (row)
                {
                    $("#txtLoginId").val(row.LoginId);
                    $("#txtLoginPwd").val(row.LoginPwd);
                    $("#txtUserStateId").val(row.UserStateId);
                    $("#txtTeacherName").val(row.TeacherName);
                    $('#txtSex').val(row.Sex);
                    $('#txtBirthday').val(row.Birthday.datebox('getValue'));
                }
                $("#divadd").show();
                $("#divadd").dialog({
                    title: '修改',
                    width: 300,
                    height: 300,
                    closed: false,
                    cache: false,
                    modal: true,
                    buttons: [{
                        text: '保存',
                        iconCls: 'icon-save',
                        handler: function () {
                            var teacherid = row.teacherid;
                            var loginid = $("#txtLoginId").val();
                            var LoginPwd = $("#txtLoginPwd").val();
                            var UserStateId = $("#txtUserStateId").val();
                            var TeacherName = $("#txtTeacherName").val();
                            var Sex = $('#txtSex').datebox('getValue');
                            var Birthday = $('#txtBirthday').datebox('getValue');
                            $.ajax({
                                type:"post",
                                url: "Handler.ashx?type=2&TeacherId="+teacherid+"&loginId=" + loginid + "&LoginPwd=" + LoginPwd + "&UserStateId=" + UserStateId + "&TeacherName=" + TeacherName + "&Sex=" + Sex + "&Birthday=" + Birthday,
                                success: function (data) {
                                    if (data == "ok") {
                                        $.messager.alert("系统提示", "数据修改成功!");
                                        showDate();
                                        $('#divadd').dialog('close');
                                    }
                                    else {
                                        $.messager.alert("系统提示", "数据修改失败!");
                                        return false;
                                    }
                                }
                            })
                        }
                    }, {
                        text: '关闭',
                        iconCls: 'icon-cut',
                        handler: function () {
                            $('#divadd').dialog('close');
                            $("input").val('');
                        }
                    }]
                })
            }

没有赋值成功,求赐教!

3个回答

$('#txtBirthday').val(row.Birthday.datebox('getValue'));

你这个有问题。。row.Birthday不是easyui的datebox,你的Birthday是什么内容,不是对象就直接下面的,是json对象获取属性值

 $('#txtBirthday').val(row.Birthday);
qq_19755427
残缺丶 回复showbo: 我改过了,这样写还是没有拿到值。还有那个日期我点击某行修改时,它不是显示的正确日期,而是当前日期,无论写成哪个日期,它只能改成1900/1/1,Why?
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 你不赋值就是空的,不会给你默认值。sex你代码对象搞错了,sex是combo,不是datebox。自己好好代码。$('#txtSex').combo('getValue')
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 数据可以正确显示了,但是又有小问题了。当我不对日期进行修改的时候,它默认给我改成1900/1/1,这是怎么回事啊?还有就是我点击修改,输入框都有值,我直接点保存,sex的值没有传到后台去,后台是这样获取的: string Sex = context.Request.Params["Sex"];
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 1.4改过了,text已经重新全部被其他控件替换,要使用API来设置,不能设置原来的dom了。 $("#txtLoginId").textbox('setValue',row.LoginId);全部改成这种
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 我的这里是1.4的easyui
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 什么版本的easyui。你检查下代码都贴全没有,如果就你的这些代码应该没有大问题的。只可能是你下的easyui挨修改过了。
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 还有一个问题就是,当我第一次在修改窗体填入一些内容,然后关闭窗口,再次打开填值的时候,那个输入框获得焦点时就会把我上一次输入的内容显示出来了,这是什么原因?我有在关闭窗口时清空该窗体输入框的内容,是这样写的, $("input").val('');
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 对啊,你的能正确显示出来,我的为什么不能,你还知道有什么原因导致的吗?
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 你可以看这个,http://www.coding123.net/demo/easyui/数据内容和你不一样而已
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 我这里1.3.5的easyui测试没有问题。显示的就是正在编辑的数据行的数据
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 按照你的写法,我可以正确显示性别,生日也能显示出来,不过每次都是当前日期,怎么回事啊,其他的都还是没有显示。
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 你的代码没有问题啊。。可以显示数据,只是你的sex和生日需要调用组件的api来设置,不能直接$('#xx').val。 $('#txtSex').combo('setText', row.Sex); $('#sp input[value="' + row.Sex + '"]').attr('checked', true); $('#txtBirthday').datebox('setValue',row.Birthday);
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 代码帖出来了,麻烦帮我看下,主要是修改那里
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 代码
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 你的txtSex这种控件是否在dialog的divadd里面?最好贴出html带按摩
5 年多之前 回复
qq_19755427
残缺丶 回复showbo: 我现在的问题是,我选择当前行再点击修改按钮时候,值都已经拿到,但是赋值不成功,意思说效果没有显示出来,能帮我看下么?
5 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复莫夕羽心: 你的数据源内容。BirthDay是"Date(260640000000)"字符串还是什么。如果是字符串,你需要自己eval("new "+row.Birthday).toLocaleDateString()将时间戳转为时间对象后变为时间
5 年多之前 回复
qq_19755427
残缺丶 得到的是/Date(260640000000)/
5 年多之前 回复

先跟踪一下看看row有没有值

qq_19755427
残缺丶 有值,不过那个生日日期没有拿到值。弹出来是object
5 年多之前 回复

这是我的html代码

 <body>
    <form id="form1" runat="server">
    <div>
    <table id="tab">
        <thead>
            <tr>
                <th data-options="field:'ck',checkbox:true"></th>
                <th data-options="field:'TeacherId',width:100">编号</th>
                <th data-options="field:'LoginId',width:100">登录名</th>
                <th data-options="field:'LoginPwd',width:100">密码</th>
                <th data-options="field:'UserStateId',width:100">状态</th>
                <th data-options="field:'TeacherName',width:100">姓名</th>
                <th data-options="field:'Sex',width:100">性别</th>
                <th data-options="field:'Birthday',width:100,formatter: jointimeconvert ">生日</th>
            </tr>
        </thead>
    </table>
    </div>
        <div id="divadd"><br />
            帐号:<input class="easyui-textbox" id="txtLoginId" style="width:200px" /><br /><br />
            密码:<input class="easyui-textbox" id="txtLoginPwd" style="width:200px"/><br /><br />
            状态:<input class="easyui-textbox" id="txtUserStateId" style="width:200px"/><br /><br />
            姓名:<input class="easyui-textbox" id="txtTeacherName" style="width:200px"/><br /><br />
            性别:<input class="easyui-combo" id="txtSex" style="width:200px"/><br /><br />
            生日:<input class="easyui-datebox" id="txtBirthday" style="width:200px"/><br />
        </div>
        <div id="sp" style="height:30px">
            <input type="radio" name="ra" value="男"/><span>男</span><br/>
            <input type="radio" name="ra" value="女"/><span>女</span><br/>
        </div>
    </form>
</body>

这是我的js代码

 <script>
        var toolbar = [{
            text: '添加',
            iconCls: 'icon-add',
            handler: function () {
                $("#divadd").show();
                $("#divadd").dialog({
                    title: '添加',
                    width: 300,
                    height: 300,
                    closed: false,
                    cache: false,
                    modal: true,
                    buttons:[{
                        text: '保存',
                        iconCls: 'icon-save',
                        handler: function () {
                            var loginid = $("#txtLoginId").val();
                            var LoginPwd = $("#txtLoginPwd").val();
                            var UserStateId = $("#txtUserStateId").val();
                            var TeacherName = $("#txtTeacherName").val();
                            var Sex = $('#txtSex').datebox('getValue');
                            var Birthday = $('#txtBirthday').datebox('getValue');
                            $.ajax({
                                url: "Handler.ashx?type=2&loginId=" + loginid + "&LoginPwd=" + LoginPwd + "&UserStateId=" + UserStateId + "&TeacherName=" + TeacherName + "&Sex=" + Sex + "&Birthday=" + Birthday,
                                success: function (data) {
                                    if (data == "ok") {
                                        $.messager.alert("系统提示", "数据添加成功!");
                                        showDate();
                                        $('#divadd').dialog('close');
                                        $("input").val('');
                                    }
                                    else {
                                        $.messager.alert("系统提示", "数据添加成功!");
                                        return false;
                                    }
                                }
                            })
                        }
                    },{
                        text: '关闭',
                        iconCls: 'icon-cut',
                        handler: function () {
                            $('#divadd').dialog('close');
                            $("input").val('');
                        }
                    }]
                })
            }
        }, '-', {
            text: '删除',
            iconCls: 'icon-cut',
            handler: function () {
                var row = $('#tab').datagrid('getSelected');
                if (row) {
                    $.messager.confirm("提示", "你确定要删除吗?", function (r) {
                        if (r) {
                            $.ajax({
                                url: "Handler.ashx?type=3&ID=" + row.TeacherId,
                                success: function (data) {
                                    if (data == "ok") {
                                        $.messager.alert("系统提示", "数据删除成功!");
                                        showDate();
                                    }
                                    else {
                                        $.messager.alert("系统提示", "数据删除失败!");
                                    }
                                }
                            })
                        }
                    })
                }
            }
        }, '-', {
            text: '修改',
            iconCls: 'icon-edit',
            handler: function () {
                var row = $('#tab').datagrid('getSelected');
                if (row == null)
                {
                    $.messager.alert("系统提示", "请选择您要修改的数据!");
                    return;
                }
                $("#divadd").show();
                if (row)
                {
                    $("#divadd").dialog({
                        title: '修改',
                        width: 300,
                        height: 300,
                        closed: false,
                        cache: false,
                        modal: true,
                        buttons: [{
                            text: '保存',
                            iconCls: 'icon-save',
                            handler: function () {
                                var teacherid = row.TeacherId;
                                var loginid = $("#txtLoginId").val();
                                var LoginPwd = $("#txtLoginPwd").val();
                                var UserStateId = $("#txtUserStateId").val();
                                var TeacherName = $("#txtTeacherName").val();
                                var Sex = $('#txtSex').datebox('getValue');
                                var Birthday = $('#txtBirthday').datebox('getValue');
                                $.ajax({
                                    type: "post",
                                    url: "Handler.ashx?type=4&TeacherId=" + teacherid + "&loginId=" + loginid + "&LoginPwd=" + LoginPwd + "&UserStateId=" + UserStateId + "&TeacherName=" + TeacherName + "&Sex=" + Sex + "&Birthday=" + Birthday,
                                    success: function (data) {
                                        if (data == "ok") {
                                            $.messager.alert("系统提示", "数据修改成功!");
                                            //showDate();
                                            $('#tab').datagrid('reload');

                                            $('#divadd').dialog('close');
                                        }
                                        else {
                                            $.messager.alert("系统提示", "数据修改失败!");
                                            return false;
                                        }
                                    }
                                })
                            }
                        }, {
                            text: '关闭',
                            iconCls: 'icon-cut',
                            handler: function () {
                                $('#divadd').dialog('close');
                                // $("input").val('');
                            }
                        }]
                    })
                    $("#txtLoginId").val(row.LoginId);
                    $("#txtLoginPwd").val(row.LoginPwd);
                    $("#txtUserStateId").val(row.UserStateId);
                    $("#txtTeacherName").val(row.TeacherName);
                    $('#txtSex').val(row.Sex);
                    $('#txtBirthday').val(row.Birthday);
                }
            }
        }];
        jQuery(function () {
            showDate();

        });
        function jointimeconvert(value, row, index) {
            return new Date(jsonDateFormat(value)).toLocaleDateString();
        }
        function showDate()
        {
            $('#txtSex').combo({
                multiple: true,
                editable: false
            });
            $('#sp').appendTo($('#txtSex').combo('panel'));
            $('#sp input').click(function () {
                var v = $(this).val();
                var s = $(this).next('span').text();
                $('#txtSex').combo('setValue', v).combo('setText', s).combo('hidePanel');
            });
            $("#divadd").hide();
            $("#tab").datagrid({
                url: "Handler.ashx?type=1",
                width: 720,
                fitColumns: true,
                striped: true,
                singleSelect: true,
                rownumbers: true,
                toolbar: toolbar,
                pagination: true,
                pageSize: 10,
                pageList:[5,10,20,50],
                onLoadSuccess: function (data) {
                    // $('#tab').datagrid('reload');
                }
            })
        }
    </script>
立即提问