使用jQuery验证各种单选按钮

使用jQuery验证各种单选按钮,jquery,validation,radio-button,Jquery,Validation,Radio Button,我在jQuery中有3个不同的单选按钮组,如下所示: <tr class="toValidate"> <td>Please rate question 1</td> <td>Yes<input type="radio" name="question1" value="yes" /></td> <td>No<input type="radio" name="question1" val

我在jQuery中有3个不同的单选按钮组,如下所示:

<tr class="toValidate">
    <td>Please rate question 1</td>
    <td>Yes<input type="radio" name="question1" value="yes" /></td>
    <td>No<input type="radio" name="question1" value="no" /></td>
    <td style='display:none'>ERROR GOES HERE</td>
</tr>
<tr class="toValidate" >
    <td>Please rate question 2</td>
    <td>Yes<input type="radio" name="question2" value="yes" /></td>
    <td>No<input type="radio" name="question2" value="no" /></td>
    <td style='display:none'>ERROR GOES HERE</td>
</tr>

请给问题1打分
对
不
这里有错误
请给问题2打分
对
不
这里有错误
我需要的是,当用户提交表单时,它会在单选按钮组中循环,对于没有选择选项的每个组,都会显示说明错误消息的最后一个td。如果未同时选择这两条,则将显示两条错误消息,而不仅仅是第一条

有什么帮助吗

非常感谢

if ($('input[name=question1]:checked').length == 0) {
    // Display an error for question1
}
if ($('input[name=question2]:checked').length == 0) {
    // Display an error for question2
}
如果要验证大量按钮,可以执行以下操作:

var questions = ['question1', 'question2'];
for(var i = 0; i < questions.length; i++) {
    if ($('input[name=' + questions[i] + ']:checked').length == 0) {
        // Display an error for questions[i]
    }
}
var-questions=['question1','question2'];
对于(var i=0;i
另外,**请使用
标签正确识别单选按钮的标签。用户应该能够单击“是”,而不仅仅是单选按钮本身的小圆圈

要么:

<td><label for="question1-yes">Yes</label><input type="radio" name="question1" value="yes" id="question1-yes" /></td>
或:


我稍微修改了您的标记,以包含
class=“error”

<tr class="toValidate">
<td>Please rate question 1</td>
<td>Yes<input type="radio" name="question1" value="yes" /></td>
<td>No<input type="radio" name="question1" value="no" /></td>
<td class="error" style='display:none'>ERROR GOES HERE</td>
</tr>
<tr class="toValidate" >
<td>Please rate question 2</td>
<td>Yes<input type="radio" name="question2" value="yes" /></td>
<td>No<input type="radio" name="question2" value="no" /></td>
<td class="error" style='display:none'>ERROR GOES HERE</td>
</tr>

+1用于正确使用
标签。尽管我也认为
表单
应该使用
字段集
来布局,并且可能是一个列表,而不是
<tr class="toValidate">
<td>Please rate question 1</td>
<td>Yes<input type="radio" name="question1" value="yes" /></td>
<td>No<input type="radio" name="question1" value="no" /></td>
<td class="error" style='display:none'>ERROR GOES HERE</td>
</tr>
<tr class="toValidate" >
<td>Please rate question 2</td>
<td>Yes<input type="radio" name="question2" value="yes" /></td>
<td>No<input type="radio" name="question2" value="no" /></td>
<td class="error" style='display:none'>ERROR GOES HERE</td>
</tr>
$('tr').each(function(){
    var currValue = $(':radio:checked', this).val(); 
    if (currValue!= "yes" || currValue != "no"){
        $(this).find('.error').show();
    }
});