jQuery隐藏字段没有多次设置

时间:2011-01-29 12:00:21

标签: javascript jquery jquery-ui

我正在尝试允许用户删除多条记录,点击“删除”链接并显示一个对话框,说明你确定吗?单击“确定”后,应删除。

它第一次使用它,但对于任何其他删除按钮,我点击它不起作用。我正在设置一个隐藏字段来存储一些信息,然后在对话框中获取该信息。

我已经确定了问题,请参阅代码中的注释,但不确定为什么会出现问题。

这是删除按钮:

 $(".delete-item").click(function () {
            $(this).css('font-weight', 'bold');
            var delId = $(this).attr("id");
            $("#hidden-itemid").val(delId);
            $("#dialog-delete-sure").dialog("open");

        });

继承人的对话:

    $("#dialog-delete-sure").dialog({
        autoOpen: false,
        resizable: false,
        height: 140,
        modal: true,
        buttons: {
            Ok: function () {
                var hiddenId = $("#hidden-itemid").val();//*** This comes back undefined the second time***//
                var itemId = $("#hidden-itemid").val().split('-')[1];
                var iType = $("#hidden-itemid").val().split('-')[0];

                $.post('/User/Delete/', { id: itemId, itemType: iType }, function (json) {
                    if (json.success) {
                        $("#" + iType + "-row-" + itemId).hide('slow', function () { $("#hidden-itemid").remove(); });
                        $("#dialog-success-delete").dialog("open");
                    } else {
                        if (json.error == "unknown") {
                            $("#dialog-unknown-error").dialog("open");
                        }
                        if (json.error == "unauthenticated") {
                            $("#dialog-unauthenticated").dialog("open");
                        }
                    }
                });
                $("#hidden-itemid").css('font-weight', 'normal');
                $(this).dialog("close");

            },
            Cancel: function () {
                $(this).dialog("close");
            }
        }
    });

典型的删除按钮如下所示:

<a id="event-63" class="delete-item">Delete</a>

任何想法?

1 个答案:

答案 0 :(得分:2)

您正在运行

$("#hidden-itemid").remove();

json.success上,所以你从DOM中删除了元素..下次它不存在,因此你得到一个错误..