2011-01-29 45 views
1

我想让用户删除多个记录,他们点击一个链接“删除”,并显示一个对话框说你确定吗?点击确定后,应该删除。jQuery隐藏字段没有被设置多次

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

我已经发现问题,请参阅代码评论,但不知道为什么它的问题。

这是删除按钮:

$(".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> 

什么想法?

+0

是否删除按钮真有ID? HTML的外观如何? – 2011-01-29 12:04:05

+0

是的,它的确如此。在萤火虫我可以看到行delId = $(this).attr(“id”);如预期的那样。它只在ok函数它不能看到它第二次 – raklos 2011-01-29 12:08:17

回答

2

您正在运行的json.success

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

让你从DOM ..下一次它不存在,并且删除的元素从而得到一个错误..