设置对话框显示的值

时间:2009-07-30 10:06:22

标签: jquery modal-dialog

我有代码:

$(function() {
        $("#dialog").dialog({
            bgiframe: true,
            autoOpen: false,
            height: 300,
            modal: true,
            buttons: {
                Cancel: function() {
                    $(this).dialog('close');
                }
            },
            close: function() {
                allFields.val('').removeClass('ui-state-error');
            }
        });

        $("input[name=edit]").click(function() {
            alert(1);
            $("#dialog input[@id=ItemId]").val($("ItemId"));
            alert(2);
            $("#dialog input[@id=CatId]").val($("CatId"));
            $("#dialog input[@id=UnitId]").val($("UnitId"));
            $("#dialog input[@id=SaleOffId]").val($("SaleOffId"));
            $("#dialog input[@id=ItemCode]").val($("ItemCode"));
            $("#dialog input[@id=ItemName]").val($("ItemName"));
            $("#dialog input[@id=UnitCost]").val($("UnitCost"));

            $('#dialog').dialog('open');
        })
    .hover(
        function() {
            $(this).addClass("ui-state-hover");
        },
        function() {
            $(this).removeClass("ui-state-hover");
        }
    ).mousedown(function() {
        $(this).addClass("ui-state-active");
    })
    .mouseup(function() {
        $(this).removeClass("ui-state-active");
    });
    });

我想为Form支持的对话框设置值。我写了函数$(“input [name = edit]”)。点击(function()将值设置为对话框每个按钮编辑都是点击但是错了。我不知道我在哪里错了。请帮助我

由于

1 个答案:

答案 0 :(得分:1)

如果您使用的是jQuery 1.3,请先从属性选择器中删除@ sings。

$("#dialog input[@id=CatId]")

应该成为

$("#dialog input[id=CatId]")

来自jQuery docs的引用:

  

注意:在jQuery 1.3 [@attr]样式选择器被删除(它们之前在jQuery 1.2中被弃用)。只需从选择器中删除“@”符号,即可使它们再次工作。

更好的改进是改变

$("#dialog input[id=CatId]")

$("#CatId")

因为ID必须是唯一的。