【问题标题】:Checking all radio buttons selected in JQuery and JSP, Struts检查在 JQuery 和 JSP、Struts 中选择的所有单选按钮
【发布时间】:2012-04-15 16:37:03
【问题描述】:

我是 jquery 的新手,我正在使用 jsp 和 struts。作为应用程序的一部分,我有一个调查表,其中包含多个类别,每个类别都有不同的问题集,每个问题都有许多可能的答案从作为单选按钮中选择。 我希望用户在提交表单之前被要求为每个类别中的每个问题选择一个答案,如果没有,则给出错误。

<s:iterator value="quelists">
<tr class="radioList">
<td>
<s:property  value="surveyQuestion"/><span id="msg_selectError"/> 
</td>

<td >
<s:iterator value="answerslists" status="status">
<s:radio  value="selectedAnswers[%{#count}]"  
          name="selectedAnswers[%{#count}]"  
          list="#{id:answer}"  required="true" theme="simple"/>
</s:iterator>
</td>

<s:set var="count" value="#count+1"/>    
</tr>
</s:iterator> 

【问题讨论】:

  • 请同时记下相应的HTML。
  • @Mbayader 您面临的问题是什么?请记住,最后的 S2 标签将与 HTML 标签相同,因此适用于 HTML 标签的内容同样适用于 S2 标签
  • 有人刚刚问了一个问题,我刚刚提供了一个答案,该答案适用于您应该实施的服务器端验证(客户端可以发送任何内容):stackoverflow.com/questions/9969024/… 完成后...显示将生成的 html 提供给 jQuery 人员并删除对 struts2 的所有引用,因为此时它只是一个常规网页。

标签: javascript jquery struts2 radiobuttonlist radio-group


【解决方案1】:

我只是在学习.. 它有效:http://jsfiddle.net/WDfXq/2/

function isCheck() {
    var isOk = true;
    $('.radioList').each(function(){
         var countChecked = $(this).find(':checked').length;

         if(countChecked!=1) {
             $(this).css('color', 'red');
             isOk = false;
         } else {
             $(this).css('color', 'black');
         }
    }); 
    return isOk;
}

【讨论】:

  • 非常感谢我没有使用它,但启发了我的工作解决方案
【解决方案2】:

我设法通过以下方式做到了:

Struts 部分

<tbody>
<s:iterator value="quelists">
<tr class="radioList">
<td align="right" dir="rtl"><s:property  value="surveyQuestion"/></td>
<td >
<div class="controlsetRadio"> 
<s:iterator value="answerslists" status="status">
<s:radio id="selectedAnswers[%{#count},%{#status.count}]" 
         value="selectedAnswers[%{#count}]"  
         name="selectedAnswers[%{#count}]"   
         list="#{id:answer}"  
         required="true" theme="simple"/>
</s:iterator>
</div>
</td>
<s:set var="count" value="#count+1"/>
</tr>
</s:iterator>
</tbody>

JQuery 部分

  <script type="text/javascript">

    $(document).ready(function(){

      $("form").submit(function(){
        var validateSurvey = Checkform();        
     if (validateSurvey){
      return true;
      }
     else
     { 
     alert("Please Answer All Questions!");
     return false;
     }
    });

    });


   function Checkform() {
    var result = true;
    var categories= $('.radioList').find('.controlsetRadio');
    $(categories).each(function() {
    var checked = $(this).find('input:radio:checked');
    var count = 0;
    if (checked.length !=1) {
            result = false;
              $(this).addClass('error');       
       }else{
         $(this).removeClass('error');
       }
    });


    return result;
}

</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多