2016-11-05 18 views
0

ID値に応じてレコードを削除します。IDを使用してレコードを削除する方法は?

現在、私は2番目のレコードを選択しても、最初のレコードは常に削除されます。

正しいレコードを削除するにはどうすればよいですか?

<cfloop query="GetRecipients"> 
      <tr> 
        <td><input type="text" name="id" value="1" id="deleteid"></td>    
        <td> <a href="" name="deleteid" class="deleteidhere" >Remove</a></td> 

      </tr> 
     <tr> 
      <td><input type="text" name="id" value="2" id="deleteid"></td>   
      <td> <a href="" name="deleteid" class="deleteidhere" >Remove</a></td> 

     </tr> 
     </cfloop> 


<script> 
    $(document).ready(function(){ 

     $(".deleteidhere").click(function(e){ 

    // alert(deleteid); 
    if(confirm("Are you sure you want to delete record?")){ 

      e.preventDefault(); 
     $.ajax({type: "POST", 
       url: "delete_check_Recipents.cfc?method=deleteids", 
       data: { id: $("#deleteid").val() }, 
       success:function(result){ 
      $("#deleteidhere").html(result); 
      window.location.href = "dates.cfm?recipient"; 
     }}); 

     } 
     else{ 
     return false; 
     } 
     }) 


    }); 
</script> 
+2

ユニークなことになっています。重複がある場合、[最初のもののみを取得します](https://api.jquery.com/id-selector/)。クリックされた要素を参照するときにクラスと '$(this)'を使用します。 –

答えて

0

両方のレコードに同じIDがあります。私はこれを正しい要素を得るために以下に変更しました。複数の要素に同じIDを使用することはお勧めしません。したがって、以下のidをクラス名で置き換え、htmlでも置き換えてください。 `id`は、あなたが重複してはならないユニークなことになっているので

<script> 
    $(document).ready(function(){ 

     $(".deleteidhere").click(function(e){ 

    // alert(deleteid); 
      var elm = $(this).closest('tr').find("#deleteid"); // replace a css class here 
    if(confirm("Are you sure you want to delete record?")){ 

      e.preventDefault(); 
     $.ajax({type: "POST", 
       url: "delete_check_Recipents.cfc?method=deleteids", 
       data: { id: elm.val() }, 
       success:function(result){ 
      $("#deleteidhere").html(result); 
      window.location.href = "dates.cfm?recipient"; 
     }}); 

     } 
     else{ 
     return false; 
     } 
     }) 


    }); 
</script> 
0

代わりに「ID」の使用「クラス」、「idは」

関連する問題