检查是否至少选择了一个复选框PER questio.n
Check if at least one checkbox is selected PER questio.n
我们再次尝试,搜索并尝试了一下,但没有一个在线示例与我的情况不同。我有两个基于电台的问题,另外22个带有复选框。我的问题是如何检查每个问题是否至少选择了一个复选框/单选框,并在没有选择的情况下显示javascript警报例如:"你必须至少选择一个问题3的答案"。
注意:警报必须包含问题编号。必须在提交表单时进行检查(如果失败,则返回false,否则返回true,并进行处理。)
以下示例:
<tr><th>- Question 1</th></tr>
<tr><td><input name="01" type="radio" id="01" value="F">
F</td></tr>
<tr><td><input name="01" type="radio" id="01" value="B">
B</td></tr>
<tr><th>- Question 2</th></tr>
<tr><td><input name="02" type="radio" id="02" value="9">
9</td></tr>
<tr><td><input name="02" type="radio" id="02" value="10">
10</td></tr>
<tr><td><input name="02" type="radio" id="02" value="11">
11</td></tr>
<tr><td><input name="02" type="radio" id="02" value="12">
12</td></tr>
<tr><th> Question 3</tr></th>
<tr><td><input name="c1" type="checkbox" id="c1" value="a">
This is checkbox1</td></tr>
<tr><td><input name="c1" type="checkbox" id="c1" value="b">
This is checkbox2</td></tr>
EDIT-在看到标记后编辑
$('form').submit(function() {
var ok = true;
var that = this;
//get the <tr> inside the function, i assume thatyou have one question per <tr>
$('tr th', this).each(function(idx, el) {
var id = this.id;
if (id) {
if ($('input:checked[name=' + id + ']', that).length === 0) {
alert("You must check at least one option for question " + $(this).text());
ok = false;
}
}
});
if (ok === false) {
return false;
}
});
这是我使用的标记(此处为fiddlehttp://jsfiddle.net/R7uwa/2/)
<form id="chestionar" name="chestionar" method="post" action="prelucrare_chest.php">
<table style="width:100%; border-spacing:0;">
<tbody><tr><th>- Selectati sex-ul:</th></tr>
<tr><td><input type="radio" value="F" id="01" name="01">
Fata</td></tr>
<tr><td><input type="radio" value="B" id="01" name="01">
Baiat</td></tr>
<tr><th>- Selectati clasa:</th></tr>
<tr><td><input type="radio" value="9" id="02" name="02">
9</td></tr>
<tr><td><input type="radio" value="10" id="02" name="02">
10</td></tr>
<tr><td><input type="radio" value="11" id="02" name="02">
11</td></tr>
<tr><td><input type="radio" value="12" id="02" name="02">
12</td></tr>
<tr><th id="c1">1. Care sunt motivele pentru care absentezi tu si colegii tai?</th></tr>
<tr><td><input type="checkbox" value="a" id="c1" name="c1">
Nu ne place ora</td></tr>
<tr><td><input type="checkbox" value="b" id="c1" name="c1">
Nu ne intereseaza scoala</td></tr>
<tr><td><input type="checkbox" value="c" id="c1" name="c1">
Nu ne place profesorul</td></tr>
<tr><td><input type="checkbox" value="d" id="c1" name="c1">
Daca absentam nu ni se întâmpla mare lucru</td></tr>
<tr><td><input type="checkbox" value="e" id="c1" name="c1">
Ne plictisim la scoala</td></tr>
<tr><td><input type="checkbox" value="f" id="c1" name="c1">
Facem usor rost de scutiri pentru motivarea absentelor</td></tr>
<tr><td><input type="checkbox" value="g" id="c1" name="c1">
Evitam în felul acesta luarea unei note mici</td></tr>
<tr><td><input type="checkbox" value="h" id="c1" name="c1">
Nu dorim sa intram în conflict cu ceilalti colegi</td></tr>
<tr><td><input type="checkbox" value="i" id="c1" name="c1">
Programul este prea încarcat</td></tr>
<tr><th id='c2'>2. Ce se întâmpla când un elev absenteaza nemotivat mai mult timp?</th></tr>
<tr><td><input type="checkbox" value="a" id="c2" name="c2">
I se scade nota la purtare</td></tr>
<tr><td><input type="checkbox" value="b" id="c2" name="c2">
Sunt chemati parintii lui la scoala</td></tr>
<tr><td><input type="checkbox" value="c" id="c2" name="c2">
Este mustrat de catre diriginte</td></tr>
<tr><td><input type="checkbox" value="d" id="c2" name="c2">
Este evaluat la ora urmatoare si este depunctat la nota</td></tr>
<tr><td><input type="checkbox" value="e" id="c2" name="c2">
Este exmatriculat</td></tr>
<tr><td><input type="checkbox" value="f" id="c2" name="c2">
Nu se întâmpla mare lucru</td></tr>
<tr><th id='c3'>3. Cât de des absentezi nemotivat?</th></tr>
<tr><td><input type="checkbox" value="a" id="3" name="3">
Deloc</td></tr>
<tr><td><input type="checkbox" value="b" id="c3" name="c3">
1-3 ore pe saptamâna</td></tr>
<tr><td><input type="checkbox" value="c" id="c3" name="c3">
3-6 ore pe saptamâna</td></tr>
<tr><td><input type="checkbox" value="d" id="c3" name="c3">
6-9 ore pe saptamâna</td></tr>
<tr><td><input type="checkbox" value="e" id="c3" name="c3">
9-12 ore pe saptamânat</td></tr>
<tr><td><input type="checkbox" value="f" id="c3" name="c3">
12-15 ore pe saptamâna</td></tr>
<tr><td><input type="checkbox" value="g" id="c3" name="c3">
Peste 15 ore pe saptamâna</td></tr>
</tbody></table>
<div class="form_settings"><p style="padding-top: 15px"><span> </span><input type="submit" value="Trimite" name="contact_submitted" class="submit"></p></div></form>
input name="c1[]"type="checkbox"id="c1"value="a"
input name="c1[]"type="checkbox"id="c1"value="b"
$(document).ready(function() {
$('form').submit(function(){
var checkbox_value = [];
$('#c1:checked').each(function(i){
checkbox_value[i] = $(this).val();
});
if(checkbox_value==""){
alert("Please Check Minimum One");
return false;
}
}
`
相关文章:
- 复选框:一次只允许单击一个复选框
- jquery从2个json字符串构建一个复选框表单
- 聚合物铁形式验证至少选中一个复选框
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如果选中了以下复选框,请选中上一个复选框
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 如何发现至少有一个复选框被选中或没有使用javascript
- 在mvc4中选择另一个复选框时禁用复选框
- 在服务器上创建一个复选框,使用 javascript 处理函数
- jqGrid-当我点击网格中的另一个复选框时,选中多选复选框
- 确保至少选中一个复选框
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 创建一个复选框按钮的散列,这些按钮在单击时在Twitter Bootstrap Button组中处于活动状态
- 如果选中了上一个复选框,则需要的验证插件
- 取消选中一个复选框时,如何启用所有复选框?使用javascript
- 当选中一个复选框时,表单中的所有其他复选框都必须禁用-不工作
- 当一个复选框处于活动状态时,禁用所有复选框
- Angular 1:最后一个复选框没有'刷新页面后不要保持选中状态
- 当选中另一个复选框时,如何取消选中该复选框
- 允许用户只选择一个复选框(引导复选框-x)