使用jQuery验证各种单选按钮
我在jQuery中有3个不同的单选按钮组,如下所示:使用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
<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();
}
});