求大神啊,,,radio的答题平台

通哥哥 2016-08-19 12:02:05
判断每题的选中状态,
没全选的话弹出框{ 第几题没选};

全选的情况下(判断选中的值!=规定的值){

执行$("#").css("color","red");

}
全选情况下{ 执行$("#ispan").css("display","block");}

--------------------这个是我想的思路,求大神实现。。。。以下是我写的错误代码

$(function(){
$("#tijiao").click(function(){
if((val!=null)&&(val2!=null)&&(val3!=null)&&(val4!=null)&&(val5!=null)){
$("#ispan").css("display","block")
}
var val=$('input:radio[name="city"]:checked').val();
if(val==null){
alert("请完成第一题");
return false;
}
var val2= $('input:radio[name="city2"]:checked').val();
if(val2==null){
alert("请完成第二题");
return false;
}
var val3= $('input:radio[name="city3"]:checked').val();
if(val3==null){
alert("请完成第三题");
return false;
}
var val4= $('input:radio[name="city4"]:checked').val();
if(val4==null){
alert("请完成第四题");
return false;
}
var val5= $('input:radio[name="city5"]:checked').val();
if(val5==null){
alert("请完成第五题");
return false;
}
if((val!="宋朝")){
$("#songchao").css("color","red");
}
if((val2!="预测和决策")){
$("#yuce").css("color","red");
}
if((val3!="正确")){
$("#zheng").css("color","red");
}
if((val4!="正确")){
$("#zheng1").css("color","red");
}
if((val5!="错误")){
$("#cuo").css("color","red");
return false;
};
return false;
}
});
});
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigbird_561 2016-08-21
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
改下结构好点,同一个问题的答案用一个自定义属性标记,如an="1",就不用一个个对比了,name也起得有规则点,不要city,如何就到city2,直接city1,city2.。。递增对 应的songcao之类的id也有规则点,如note1,note2.。。。这样就不用写这么对代码,要是有100题你id都起死了。
<br />
问题1:<input type="radio" name="city1" />city1  <input type="radio" name="city1" />city2  <input type="radio" name="city1" an="1" />city3
<div id="note1">问题1提示信息</div>
问题2:<input type="radio" name="city2" />city1  <input type="radio" name="city2" an="1" />city2  <input type="radio" name="city2" />city3
<div id="note2">问题2提示信息</div>
问题3:<input type="radio" name="city3" />city1  <input type="radio" name="city3" />city2  <input type="radio" name="city3" an="1" />city3
<div id="note3">问题3提示信息</div>
问题4:<input type="radio" name="city4" />city1  <input type="radio" name="city4" an="1" />city2  <input type="radio" name="city4"/>city3
<div id="note4">问题4提示信息</div>
<input type="button" value="提交" id="tijiao" />
<div id="ispan" style="display:none">全答题提示</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    $(function(){
        $("#tijiao").click(function(){
            var o,allcheck=true;
            var max=4;//最大题目下标
            for(var i=1;i<=max;i++){
                o=$('input:radio[name="city'+i+'"]:checked');
                if (o.length == 0) { alert('请完成题目' + i + '!'); allcheck = false; return false}
                else $('#note' + i).css('color', o.attr('an') == '1' ? 'green' : 'red');
            }
            if (allcheck) $("#ispan").css("display", "block");//全选才显示
            return false;
        });
    });
</script>
这个肯定可以,不看别的,我擦,12级
Go 旅城通票 2016-08-20
  • 打赏
  • 举报
回复
改下结构好点,同一个问题的答案用一个自定义属性标记,如an="1",就不用一个个对比了,name也起得有规则点,不要city,如何就到city2,直接city1,city2.。。递增对 应的songcao之类的id也有规则点,如note1,note2.。。。这样就不用写这么对代码,要是有100题你id都起死了。
<br />
问题1:<input type="radio" name="city1" />city1  <input type="radio" name="city1" />city2  <input type="radio" name="city1" an="1" />city3
<div id="note1">问题1提示信息</div>
问题2:<input type="radio" name="city2" />city1  <input type="radio" name="city2" an="1" />city2  <input type="radio" name="city2" />city3
<div id="note2">问题2提示信息</div>
问题3:<input type="radio" name="city3" />city1  <input type="radio" name="city3" />city2  <input type="radio" name="city3" an="1" />city3
<div id="note3">问题3提示信息</div>
问题4:<input type="radio" name="city4" />city1  <input type="radio" name="city4" an="1" />city2  <input type="radio" name="city4"/>city3
<div id="note4">问题4提示信息</div>
<input type="button" value="提交" id="tijiao" />
<div id="ispan" style="display:none">全答题提示</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    $(function(){
        $("#tijiao").click(function(){
            var o,allcheck=true;
            var max=4;//最大题目下标
            for(var i=1;i<=max;i++){
                o=$('input:radio[name="city'+i+'"]:checked');
                if (o.length == 0) { alert('请完成题目' + i + '!'); allcheck = false; return false}
                else $('#note' + i).css('color', o.attr('an') == '1' ? 'green' : 'red');
            }
            if (allcheck) $("#ispan").css("display", "block");//全选才显示
            return false;
        });
    });
</script>
  • 打赏
  • 举报
回复
晕了,应该是
if( $("input:[name^=city]:checked").length == 总题数 ) $("#ispan").css("display", "block");
  • 打赏
  • 举报
回复
var 总题数=3;
if(总题数 - $("input:[name^=city]:checked").length == 0) $("#ispan").css("display", "block");

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧