2011-01-29 5 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"); 

     }); 

을 heres 대화 :

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

어떤 아이디어? 당신은 그래서 당신이 오류가 그래서 당신은 ... 다음에 그것이 존재하지 않는 DOM에서 요소를 제거 json.success

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

을 실행하는

+0

는 삭제 버튼이 정말이 있습니까 신분증? HTML은 어떻게 생겼습니까? –

+0

예. 방화 광에서 내가 줄을 볼 수 있습니다 delId = $ (this) .attr ("id"); 예상대로입니다. 그것만이 ok 함수에서 그것은 두 번째로 볼 수 없다. – raklos

답변

2

..

+0

나는 $ ($ ("# hidden-itemid") .val()). remove();가되어야한다. – raklos

관련 문제