源代码如下,<c:forEach
items="${media }"
var="media"
varStatus="index">
<table
border="0"
cellspacing="0"
cellpadding="0">
<tr>
<td
style="height:25"
width="900"><bean:message
bundle="km-media"
key="kmMedia.evaluation.system.message1"
arg0="${media.fdScore }"
arg1="${media.fdName }"
arg2="${media.fdName }" /></td>
</tr>
<tr>
<td
style="height:25"
width="900"><select name="fdMediaScore${status.index+1  }">
<script>
for(var i=1;i<=${media.fdScore};i++){
document.write("<option value="+ i +">");
document.write(i);
document.write("</option>");
}
</script>
</select> <bean:message
bundle="km-media"
key="kmMedia.evaluation.system.message.tip"
arg0="${media.fdScore }" /></td>
</tr>
</table>
</c:forEach>请问怎么获取select的值,
如果用JS到话,

解决方案 »

  1.   

    为什么要用js输出option, 直接写就行了
      

  2.   

    不用js也可以,只要能够得到option的值。
      

  3.   

    <select name="fdMediaScore${status.index+1     }">
    <c:forEach begin="1" end="${media.fdScore }" step="1" varStatus="i">
    <option value="${i }"> ${i }</option>
    </c:forEach>
    </select>
    <script type="text/javascript">
    alert (document.getElementById("fdMediaScore${status.index+1}").value);
    </script>
    不知道这是不是你想要的
      

  4.   

    我是要在整个forEach的外部来获得option选定的值,
      

  5.   

                    <script type="text/javascript">
    window.onload = function () {
                        alert (document.getElementById("fdMediaScore${status.index+1}").value);
    }
                    </script>
    把这句放你想要的地方
      

  6.   

    你还是没有明白我的意思,可能是我的描述不够清楚,我应该是这个意思,我用c:forEach循环产生了一组select下拉表单。不能确定是多少个,是动态的。
    现在我需要的是把这些下拉表单所选定的值全部取出来。我知道用getElementByName可以获得值,但是我的select的名字是动态产生的。不能确定有多少个,可能是1个也有可能是10个。
    那我怎么才能把这些值全部都给取到。
      

  7.   

    var selects = document.getElementsByTagName ("select");
    for (var i=0; i<selects.length; i++) {
       alert (selects[i].getAttribute ("name");
       var opts = selects[i].getElementsByTagName("option");
       for (var j=0; j<opts.length; j++) {
           alert (opts[j].text + ": " + opts[j].value);
       }
    }