我在表单中有几个复选框,我只想检查它们是否已经过检查。
如果选中,我需要将他们的ID存储在数据库中(我可以这样做)。但我的问题是如何确定是否检查,而不是一次检查每个复选框。
这是我的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Role Id<input type="text" name="roll_id"/><br>
Role Name<input type="text" name="roll_name"/><br>
Role Description<textarea name="roll_desc"></textarea><br>
<br>
<br>
Screen1<br>
tab1<br>
<input type="checkbox" name="s1_t1_view" value="s1_t1_view" >view<br>
<input type="checkbox" name="s1_t1_add" value="s1_t1_add" >add<br>
<input type="checkbox" name="s1_t1_edit" value="s1_t1_edit" >edit<br>
<input type="checkbox" name="s1_t1_delete" value="s1_t1_delete" >delete<br>
tab2<br>
<input type="checkbox" name="s1_t2_view" value="s1_t2_view" >view<br>
<input type="checkbox" name="s1_t2_add" value="s1_t2_add" >add<br>
<input type="checkbox" name="s1_t2_edit" value="s1_t2_edit" >edit<br>
<input type="checkbox" name="s1_t2_delete" value="s1_t2_delete" >delete<br>
Screen2<br>
tab1<br>
<input type="checkbox" name="s2_t1_view" value="s2_t1_view" >view<br>
<input type="checkbox" name="s2_t1_add" value="s2_t1_add" >add<br>
<input type="checkbox" name="s2_t1_edit" value="s2_t1_edit" >edit<br>
<input type="checkbox" name="s2_t1_delete" value="s2_t1_delete" >delete<br>
tab2<br>
<input type="checkbox" name="s2_t2_view" value="s2_t2_view" >view<br>
<input type="checkbox" name="s2_t2_add" value="s2_t2_add" >add<br>
<input type="checkbox" name="s2_t2_edit" value="s2_t2_edit" >edit<br>
<input type="checkbox" name="s2_t2_delete" value="s2_t2_delete" >delete<br>
<input type="submit" name="sumbit" text="submit">
</body>
</html>
答案 0 :(得分:5)
请参阅demo fiddle。
如果足够,您可以使用选择器获取所有选中的复选框。
$('input:checkbox:checked').each(function(_, value) {
console.log('checked: '+$(value).val());
});
$('input:checkbox:not(:checked)').each(function(_, value) {
console.log('not checked: '+$(value).val());
});
答案 1 :(得分:4)
您可以使用each
:
$("input[type=checkbox]").each(function() {
var elem = $(this);
if (elem.is(":checked")) {
// Item is checked
}
})
答案 2 :(得分:2)
试试这个
$("input[type='checkbox']").each(function() {
if ($(this).is(":checked")) {
//Do the stuff
}
})
或简单选择所选的
$('input[type="checkbox"]:checked').each(function()
{
var checkedBox = $(this);
// Do whatever you want
});
答案 3 :(得分:2)
示例方法
getChecked(){
var idString;
//get only checked checkbox
$('input[type=checkbox] :checked').each(function(){
//create string of ids
idString=idString+$(this).attr("id")+",";
});
return idString;
}