检查所有选中的单选按钮并获取其值JQuery

时间:2012-01-19 22:21:40

标签: jquery

使用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);
}); 

3 个答案:

答案 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()将为您提供所选无线电的值。