jquery实现表单中选择框/选中按钮是否选中遍历检查(提交页面中选择题答案)

来源:岁月联盟 编辑:exp 时间:2012-08-29

首先,页面form表单中的对应每个问题前的隐藏选择框,以及它后面对应的问题:
       <label style="display:none">
           <input type="checkbox" name="inquestion" value="<%=questionId%>" checked="checked" />
       </label>
       <p><b><%=questionName%></b></p>
其次,页面form表单每个问题下的答案的选中的按钮:
       <input type="radio" name="<%=questionId%>answer" value="<%=resultId%>" align="absmiddle" /><%=resultName%>
        按钮的出现是在每个问题的后面,可以有多个答案,每个答案有一个对应的radio,然后我们在提交表单的时候遍历form检查是否每个问题后面的答案都已经有一个被选中。


最后,提交form的时候用jquery检查选中情况:
  function submitForm() { www.2cto.com
  var str = "" ;
  //取到每个问题前面的隐藏选择框,目的是取到内个问题的id
  $('input[type="checkbox"][name="inquestion"]').each(function () {
        if (this.checked) {
          //将问题用“;”串起来
            str += $(this).val()+";" ;
        }
    });

  //将串起来的问题拆分
  var ids = str.split(";") ;
 
  //取到每个问题的id,然后构造问题答案的对象名name,取到答案对象$(DOM对象),进而判断是否选择
  for(var i=0 ;i <(ids.length-1) ;i++) {
   //得到问题id
   var qid = ids[i] ;
   //得到答案对象
   var transferType = $("input[name='"+qid+"answer']:checked").val() ;
   //判断对象是否选择
   if(transferType == undefined || transferType == null ) {
     alert("第"+(parseInt(i)+1)+"题您未选择,请选择.") ;
     return ;
   }
  }
 
  document.myform.submit();
 }