2014-09-20 82 views
0

希望有人能指出我正确的方向。获得jsp中每个循环内隐藏字段的值

我有一个jsp,它显示一个单一的问题与多选答案,就像一个调查。一次只显示一个问题。这是代码。

<c:forEach items="${questions}" var="question" varStatus="loop1"> 
    <div id="offer-quiz-${loop1.index}" class="offer-quiz-main">Give us your valuable opinion! 

    <% 
     count++; 
     pageContext.setAttribute("count", count); 
    %> 

    <div id="offer-quiz-hd" div class="offer-quiz-hdr">Question ${count}: </div> 
    <div class="offer-quiz-ques">${question.values}</div> 
     <div class="offer-quiz-ans"> 

      <c:forEach items="${question.answers}" var="answer" varStatus="loop2"> 
      <span><input name="qa${loop1.index}" id="radio_${loop1.index}${loop2.index}" type="radio" value="${answer.answers}"> 
      <label for="radio_${loop1.index} ${loop2.index}">${answer.answers}</label> 
      </span> 

      <div><input id="nextQId-${loop1.index}${loop2.index}" type="hidden" value="${answer.nextqid}"></div> 
      </c:forEach> 
      <div class="offer-quiz-btns"> 
      <a href="#" class="quiz-btn-g">Go Back</a> 
      <a href="#" class="quiz-btn">Next</a> 
      </div> 
     </div> 
    </div> 
</c:forEach> 

我将问题和答案从数据库传递过来,并将其作为列表传递给jsp。我循环回答问题并使用第二个循环来回答问题。我有一个隐藏的div在第二个循环内:

因此,对于每个答案,这个字段的值将是不同的。我想在javascript中单击按钮时获取此字段的值。

有人可以帮我吗?

非常感谢

回答

0

既然你有相同的索引你的隐藏和单选按钮,你可以用它来得到你的隐藏使用简单的JavaScript的价值。

<script> 
    function getHiddenValue(answer){ 
    var index = answer.id.indexOf("_"); 
    var id = answer.id.substring(index+1); 
    alert(document.getElementById("nextQId-"+id).value); 
    } 
</script> 

单选按钮

<input name="qa${loop1.index}" id="radio_${loop1.index}${loop2.index}" type="radio" value="${answer.answers}" onclick="getHiddenValue(this);"> 

这里有一个JFiddle例子。

+0

嗨tks输入。我想在选择特定的单选按钮后单击按钮时获取隐藏字段的值。 – user2893564 2014-09-20 16:18:36

+0

嗨Tks现在工作!我只是想知道,如何在每次加载页面时增加问题编号?现在我用这个: <% count ++; pageContext.setAttribute(“count”,count); %> 但是如果我跳过一个问题,那么它会增加2.所以如果用户从第一个问题中选择s选项1,它应该显示第三个问题。然后计数也增加2.但是我只需要将它增加1。 – user2893564 2014-09-20 19:02:28

+0

我在这里看到两个选项,1.不允许用户跳过一个问题,这很容易。 2.允许跳过,然后检查用户是否选择单选按钮,如果用户选中了按钮增量计数,则不做任何事情。你可以用javascript来做到这一点。 – user23123412 2014-09-21 01:08:18