如何使用2个警报验证以下代码?
首先检查是否至少选中了1个复选框 - 如果没有,则提示“请选择至少1个复选框!”的消息。第二个应警告“你确定要删除吗?”并提交:
SCRIPT:
<script type="text/javascript">
$(document).ready(function() {
$("#delete").click(function()
{
if (confirm('Are you sure you want to delete?')) {
$('#form_test').submit();
}
});
});
</script>
HTML:
<a id="delete" href="#">Delete Images</a>
<form id="form_test" method='post' action=''>
<input type="checkbox" name="remove[]" />
<input type="checkbox" name="remove[]" />
</form>
答案 0 :(得分:3)
$("#delete").click(function() {
var exists = $('input[type=checkbox][name^=remove]:checked').length;
if( !exists ) {
alert('Please select at least 1 checkbox!');
} else if(confirm('Are you sure you want to delete?')) {
$('#form_test').submit();
}
});
<强> Demo 强>
新版本的jQuery已弃用:checkbox
选择器。的 List of deprecated items 强>
从 jQuery doc about :checkbox
我发现了这个:
$(':checkbox')相当于$('[type = checkbox]')。和其他一样 伪类选择器(以“:”开头的那些)。
建议 在它之前加上标签名称或其他选择器;否则, 通用选择器(“*”)是隐含的。
换句话说,裸露 $(':checkbox')相当于$('*:checkbox'),所以 应该使用$('input:checkbox')。
答案 1 :(得分:2)
你可以试试这个:
$("#delete").click(function() {
var exists = $('input[type=checkbox]:checked').length;
if( !exists ) {
alert('Please Select any checkbox');
} else {
if (confirm('Are you sure you want to delete?')) {
$('#form_test').submit();
}
}
});
答案 2 :(得分:1)
您可以使用length
属性。
$("#delete").click(function() {
if (!$('input[type=checkbox]:checked').length) {
alert('Please select at least 1 checkbox!')
}
else if (confirm('Are you sure you want to delete?')) {
$('#form').submit();
}
});