【发布时间】:2015-05-07 03:32:36
【问题描述】:
这不是建议为重复的问题的重复,因为此问题与事件绑定无关
嗨,我试图获取复选框的值以将 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>
如果有人能帮我解决这个问题,我会很感激的
【问题讨论】:
-
一目了然,您将“deleteAdminName”设置为 var,因此它是一个局部变量。点击处理程序完成后,它不再存在。
-
@DelightedDD 这是怎么重复的?我没有绑定事件,也没有使用选择列表?
-
@Taplar,我确实将 var deleteAdminName 放在删除按钮单击函数中,但它只返回列表的第一个复选框值而不是选中的复选框的值,但是我接受你的观点作为有效,虽然不能帮助我解决问题。感谢您的意见
-
我不完全确定你明白我所说的。在您的 checkboxes.click 中,您将“deleteAdminName”设置为一个值。无论您将其设置为什么,都使用“var deleteAdminName = 'something'”进行设置。该变量前面的 var 使其成为该函数的本地变量。一旦函数完成,该变量将不再存在。然后,当您执行单击“.delete_admin_but”时,您的帖子引用了“{deleteAdminname:deleteAdminName}”,但如前所述,该变量不再存在,因此您传递给您的 ajax 调用 deleteAdminname:未定义。
标签: javascript php jquery html checkbox