2015-05-06 53 views
0

值这不是建议作为重复为这个问题一个问题的副本无关与事件结合充分利用PHP动态创建的复选框使用jQuery

嗨,我试图让一个复选框的值发送ajax请求到一个php页面,复选框是使用php动态创建的。到目前为止,我的代码允许我向用户显示一条指令,告诉用户选择要从动态创建的列表中删除的管理员。然后当一个复选框被选中时,该隐藏隐藏并显示删除管理按钮。接下来点击删除按钮,我试图确认用户想要删除所选的管理员,然后点击确认或取消。我真正的问题是获取选中的复选框的值传递到php处理页面,到目前为止,我已设法获得第一个复选框的值,无论选中哪个复选框都会通过

Jquery

<script type="text/javascript"> 

$(document).ready(function() { 

    var checkboxes = $("input[type='checkbox']"); 

checkboxes.click(function() { 
    $('.delete_admin_but').show(); 
    $('#adminDeleteNotice').hide(); 
    var deleteAdminName=$(this).attr('id'); 
}); 

    $(".delete_admin_but").click(function() { 



// if(confirm("Are you sure you want to delete the Admin")) { 

    $("#deleteAdminError").html('<img src="image/ajax-loader.gif" width="16" height="16" alt=""/>'); 




$.post("includes/delete_admin.inc.php",{deleteAdminname:deleteAdminName},function(json) { 
    if(json.result === "success") { 
     $("#deleteAdminError").html(json.message); 
// $('.add_intern').get(0).reset(); 
    }else{ 
     $("#deleteAdminError").html(json.message); 
    } 
}); 



});//submit click 
});//doc ready 
</script> 

HTML表单

<div id="deleteAdmin" style="display:none"> 

<form id="adminDelete"> 

      <div class="delete_admin_list"> 

      <?php while($row = mysqli_fetch_array($result1)) { ?> 

       <input type="checkbox" id="<?php echo $row['name']; ?>" value="<?php echo $row['id']; ?>" name="delete[]" class="checkboxAdmin" /> 

       <div id="admin_db_detail"><?php echo $row['name']; ?> - <?php echo $row['email']; ?></div> 

       <?php } ?> 

     </div>   


<div id="adminDeleteNotice" style="display:block">Please Choose an Admin to Delete</div> 

<input name="delete_admin_but" id="delete_admin_but" type="button" class="delete_admin_but" value="Delete Admin" style="display:none"/> 

</form> 

<div id="deleteAdminError"></div> 

</div> 

如果有人可以帮助我想出解决办法我将不胜感激

+0

的[事件绑定上动态创建的元素?]可能重复(http://stackoverflow.com/questions/203198/事件绑定在动态创建的元素) – DelightedD0D

+0

快速浏览一下,你的设置'deleteAdminName'作为一个变量,所以它是一个局部变量。点击处理程序完成后,它不再存在。 – Taplar

+0

@DelightedDD这是如何重复?即时消息不绑定事件,我也不使用选择列表? – Tiny

回答

0

我已经明白了这一点,所以张贴以说明如何并提出一个观点,认为这与建议的重复建议问题无关。也许那些建议这些重复的人应该首先正确地阅读这个问题,然后他们提出的问题被重复,以确定是否有任何相关性。但是,如果我错了,我会很乐意撤回这个评论应该有人向我展示了所提问题与我发布的问题的相关性并提供了解决方案。

我的解决方案

的jQuery更改为以下

<script type="text/javascript"> 

$(document).ready(function() { 

    var checkboxes = $("input[type='checkbox']"); 

checkboxes.click(function() { 
    $('.delete_admin_but').show(); 
    $('#adminDeleteNotice').hide(); 

}); 

    $(".delete_admin_but").click(function() { 

$.post("includes/delete_admin.inc.php",{ checked_box : $('input:checkbox:checked').val()},function(json) { 
    if(json.result === "success") { 
     $("#deleteAdminError").html(json.message); 
// $('.add_intern').get(0).reset(); 
    }else{ 
     $("#deleteAdminError").html(json.message); 
    } 
}); 
     });//submit click 
});//doc ready 
</script> 

我从原来的脚本所做的更改与$。员额线

原始代码

$.post("includes/delete_admin.inc.php",{deleteAdminname:deleteAdminName},function(json) { 

,从被选择的复选框得到的复选框的值新代码

$.post("includes/delete_admin.inc.php",{ checked_box : $('input:checkbox:checked').val()},function(json) {