2016-11-05 71 views
0

我想根据ID值删除记录。如何使用ID删除记录?

现在它总是删除第一条记录,即使我选择了第二条记录。

如何让它正常工作以删除正确的记录?

<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

因为一个'id'应该是独一无二的,你不应该有重复。如果有重复,它将[只获得第一个](https://api.jquery.com/id-selector/)。引用clicked元素时使用类和'$(this)'。 –

回答

0

两个记录都有相同的ID。我改变了下面的内容以获得正确的元素。不建议将相同的ID用于多个元素。因此,用类名替换下面的id,并在html中。

<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

使用“类”,而不是“身份证”的“身份证”应该是唯一