如何检查一组单选按钮是否全部选中
How to check a set of radio buttons that all are selected?
我有一个动态生成的单选按钮列表。单选按钮的名称也是动态生成的。第一行单选按钮的名称为1,第二行单选按钮名称为2。每行有三个单选按钮,名称相同,但值不同。
如何使用jquery检查提交表单时每行中是否选择了一个单选按钮?
<tr>
<th>1</th>
<td> Please select one option </td>
<td class='selectable_cell'>
<input type="radio" name="2" value="1" />
</td>
<td class='selectable_cell'>
<input type="radio" name="2" value="2" />
</td>
<td class='selectable_cell'>
<input type="radio" name="2" value="3" />
</td>
</tr>
<tr>
<th>2</th>
<td> Please select another option </td>
<td class='selectable_cell'>
<input type="radio" name="3" value="1" />
</td>
<td class='selectable_cell'>
<input type="radio" name="3" value="2" />
</td>
<td class='selectable_cell'>
<input type="radio" name="3" value="3" />
</td>
</tr>
假设每一行单选按钮都被包装到一个特定的元素(例如<fieldset>
或<tr>
)中,您可以很容易地检查(在提交事件中)包装元素的数量是否等于所选单选按钮的数量,并使用
var group = $('#yourform tr');
if (group.length === group.find('input[type="radio"]:checked').length) {
/* you choose one radio for each group */
}
我认为您可以向行添加类或id,比如#row1、#row2。之后它相当容易
//为您提供第一行选中的单选按钮数//$('input[type=radio]:已选中','#row1')//显示第二行选中的单选按钮的数目//$('input[type=radio]:已选中','#row2')if($('input[type=radio]:checked','#row1').length>0和$('input[type=adio]:checked','#row2')>0){//你的代码在这里}
试试这个
var names = {};
$(':radio').each(function() {
names[$(this).attr('name')] = true;
});
var count = 0;
$.each(names, function() {
count++;
});
if ($(':radio:checked').length === count) {
//All Checked
}
如下:
演示:http://jsfiddle.net/K2WsA/和来自您更新的代码和微小的更改:http://jsfiddle.net/K2WsA/1/
行为:在演示中,在两个组中至少选择一个,你会收到警报。
希望它能有所帮助!
按名称分组:
if($("input[type=radio][name=foo]:checked").length > 0 &&
$("input[type=radio][name=bar]:checked").length > 0)
{
/* do something */
}
在下面的演示链接上,我已经为上面的问题完成了完整的bin。所以请检查一下,它可能会对你有所帮助。
演示:http://codebins.com/bin/4ldqp9l
HTML:
<table id="table1" cellpadding="0" cellspacing="0" width="70%">
<tr>
<th>
1
</th>
<td>
Please select one option
</td>
<td class='selectable_cell'>
<input type="radio" name="rd1" value="1" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd1" value="2" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd1" value="3" />
</td>
</tr>
<tr>
<th>
2
</th>
<td>
Please select another option
</td>
<td class='selectable_cell'>
<input type="radio" name="rd2" value="1" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd2" value="2" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd2" value="3" />
</td>
</tr>
<tr>
<th>
3
</th>
<td>
Please select another option
</td>
<td class='selectable_cell'>
<input type="radio" name="rd3" value="1" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd3" value="2" />
</td>
<td class='selectable_cell'>
<input type="radio" name="rd3" value="3" />
</td>
</tr>
</table>
<br/>
<input type="button" id="btncheck" name="btncheck" value="Check Radio Selection" />
<div id="result">
</div>
CSS:
table#table1{
border:1px solid #225599;
}
table#table1 th{
border:1px solid #225599;
padding:2px;
background:#a48866;
}
table#table1 td{
border:1px solid #225599;
padding:2px;
background:#94dbfd;
}
.error{
color:#ca1619;
}
.success{
color:#006633;
}
JQuery:
$(function() {
$("#btncheck").click(function() {
var result = "";
$("table#table1").find("tr").each(function() {
var row = $.trim($(this).find("th").text());
if ($(this).find("input[type=radio]:checked").length > 0) {
var opValue = $(this).find("input[type=radio]:checked").val();
result += "<p class='success'>Row " + row + ": The option with value '"" + opValue + "'" has been selected... :)</p>";
} else {
result += "<p class='error'>Row " + row + ": No option has been selected..!</p>";
}
if (result != "") {
$("div#result").html(result);
}
});
});
});
演示:http://codebins.com/bin/4ldqp9l
相关文章:
- 是否可以禁用jquery中的单个单选按钮
- Jquery-标识单选按钮值是否未更改
- 如何根据是否通过jsp中的jstl选中单选按钮来启用和禁用下拉列表
- jQuery:如何查找id是动态生成的单选按钮是否被选中
- 循环遍历单选按钮(20 组,每组 3 个),并检查是否选中了每个组
- 是否可以获取不同页面中单选按钮的值
- 如何检查是否没有选中任何单选按钮
- 如何检查一组单选按钮是否全部选中
- 单击时是否可以从1个单选按钮传递两(2)个值
- 在允许用户进入下一部分之前,在表单验证中检查是否单击了某个选项(单选按钮)
- 检查我的所有单选按钮是否已满
- 如何检查是否选中了所有单选按钮
- 如何检查我的单选按钮是否已选中并且循环是否正常工作
- 如何检查是否检查了分区中的所有单选按钮
- 在你用javascript提交表单之前,检查是否填写了每个单选按钮
- 冷聚变 - 验证是否选中了单选按钮
- 检查所有单选列表单选按钮是否已在 GridView 上选中
- 检查jquery中是否选中了单选按钮
- 是否可以在更改单选按钮时禁用/启用jquery功能
- (飞镖)我希望触发两个不同的onclick功能,具体取决于单击时是否选中了单选按钮.我该怎么做