使用JQuery我正在尝试执行验证,并获取页面中所有动态生成的单选按钮的值。
我的页面上有10个问题,每个问题都有一个单选按钮组(是/否)。
在“继续”按钮的点击事件中,我需要检查所有问题是否得到回答,并获得所有问题的答案。
这就是每个问题的样子。
<tr>
<td class="TextBold">1.</td>
<td class="TextBold">Question content 1
</td>
<td class="TextBold">
<table id="ctl00_DefaultContent_ctl01" border="0">
<tr>
<td>
<input id="ctl00_DefaultContent_ctl01_0" type="radio" name="ctl00$DefaultContent$ctl01" value="Yes" /><label for="ctl00_DefaultContent_ctl01_0">Yes</label>
</td>
<td>
<input id="ctl00_DefaultContent_ctl01_1" type="radio" name="ctl00$DefaultContent$ctl01" value="No" /><label for="ctl00_DefaultContent_ctl01_1">No</label>
</td>
</tr>
</table>
</td>
</tr>
这是我想出的。但是我想向用户发出一个警告,说如果没有进行另一个选择器调用就无法回答这些问题。
$('#btnContinue').click(function () {
if ($(":radio:checked").size() < 10)
{
}
var result = '';
$('input:checked').each(function () {
result += "|" + $(this).closest('table').closest('td').prev().prev().html() + ',' + $(this).val();
});
alert(result);
});
答案 0 :(得分:4)
你可以试试这个。
if($('input:radio:checked').length != ($('input:radio').length/2)){
//All the questions are not answered
}
当然,您可以通过将父容器作为上下文传递来限制选择器,以确保它只选择该容器中的单选按钮。
答案 1 :(得分:3)
if($(":radio:checked").size()<10)
//validation fails
答案 2 :(得分:2)
选中的单选按钮将位于
返回的数组中$('input:radio:checked')
所以,如果该数组长度为10个项目,则所有问题都已得到解答。对于该数组中的每个项目,.val()将为您提供所选无线电的值。