2011-01-29 18 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 ..下一次它不存在,並且刪除的元素從而得到一個錯誤..