我按以下方式设置了一个测验:
左边是问题的表格,右边是真或假单选按钮。
在测验的底部,我有一个第2步按钮,点击后,拉出一个Fancybox图层,在表格中询问该人的联系信息。
除非为每个问题选择一个答案(true或false),否则我想停止打开fancybox窗口。如果用户没有选择答案,我想显示一条消息,让他们知道必须在未回答的问题下面选择答案。
我尝试过使用此代码onClick:
$("input:radio:not(:checked)").parent().parent().append("ERROR")
唯一的问题是,这段代码没有识别出它们是单对的单选按钮,而不仅仅是个人,并且如果它们都没有被选中,它应该只标记错误。
以下是我的标记示例。
<tr class="alternate">
<td>At school, you have to reminded to do your assignments.</td>
<td class="centered"><input type="radio" class="radio" name="Question_1" value="True" /></td>
<td class="centered"><input type="radio" class="radio" name="Question_1" value="False" /></td>
</tr>
有关如何改进我的jQuery以实现此目的的任何建议吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
例如,检查每个tr
是否只有一个input
已选中:
$("tr").each(function(i, el) {
if($(this).find("input:checked").length != 1) {
$(this).addClass("ERROR");
}
});
答案 2 :(得分:0)
我有一个小逻辑,但这只是一个想法,
$(function() {
var flag=true;
$("tr").each(function(i, el) {
if($('[name=Question_'+i+']:checked').length == 0){
//show the error message here for that particular div
//Set the flag= flase;
flag= false;
}else{
flag= true;
}
});
if(flag){
//Success, all the questions are answered
}else{
//Show the error Message.
}
});
选中复选框后,您将标志状态为true。
@ArunPJohny,老兄,我也希望得到你的建议。