如何在点击复选框时禁用页面重定向?
问题描述:
我有这样的代码:如何在点击复选框时禁用页面重定向?
<div onClick="$(location).attr('href','updateUser.php?id=<?php echo $admin->id; ?>')" class="dbItem">
<div class="dbItemCheckbox">
<input name="se8" type="checkbox" value="<?php echo $admin->id; ?>" />
</div>
<div class="dbItemMessageIconAdmin"><img src="images/admin.png" alt="" width="20" height="23" border="0" /></div>
<div class="dpItemName"><?php echo $admin->username; ?></div>
<div class="dpItemTitle"><?php echo $te; ?></div>
<div style="left: 110px" class="dpItemDate"><?php echo $admin->registerDate; ?></div>
<div class="dpItemDelete"><a href="editUsers.php?del=<?php echo $admin->id; ?>"><img src="images/delete.png" alt="" width="11" height="10" border="0" /></a></div>
</div>
当在DIV用户点击,浏览器去更新页面。
我面临的问题是,当用户单击复选框检查多重删除时,这也将进入更新页面。
当用户只在复选框上单击时,我可以禁用此功能。
答
防止在复选框上冒泡事件。尝试是这样的:
$(".dbItem INPUT[type='checkbox']").click(function(evt) {
evt.stopPropagation();
});
答
我可以看到这样做是对的onclick移居到其他的div专门周围的一切,但该复选框包裹最简单的方法。像这样:
<div class="dbItem">
<div class="dbItemCheckbox">
<input name="se8" type="checkbox" value="<?php echo $admin->id; ?>" />
</div>
<div onClick="$(location).attr('href','updateUser.php?id=<?php echo $admin->id; ?>')" >
<div class="dbItemMessageIconAdmin"><img src="images/admin.png" alt="" width="20" height="23" border="0" /></div>
<div class="dpItemName"><?php echo $admin->username; ?></div>
<div class="dpItemTitle"><?php echo $te; ?></div>
<div style="left: 110px" class="dpItemDate"><?php echo $admin->registerDate; ?></div>
<div class="dpItemDelete"><a href="editUsers.php?del=<?php echo $admin->id; ?>"><img src="images/delete.png" alt="" width="11" height="10" border="0" /></a></div>
</div>
</div>
答
无论是在复选框的onclick属性,脚本部分(或外部JavaScript文件)要包括复选框的onclick处理程序。
$('input[name="se8"]').click(function(e){
e.stopPropagation();
});