2016-05-09 17 views
0

我有一個適用於IE8,但不適用於IE9及以上的應用程序。在struts2中的選定項<s:select>不在javascript中返回

我想使用javascript獲取下拉列表中選定項目的值。

問題是,即使我選擇一個項目,它返回-1。

<s:submit value="save"></s:submit> 
<s:form action="test-action id="testMyCode" onsubmit="return validateMyCode()" method="POST"> 
    <s:iterator value="myIterator" status="status" var="details" id="iteratorId"> 
     <s:if test= "%{indicator.equals("Y")}"> 
      <s:select id = "typeList[%{#status.index}]" 
       headerKey = "-1" 
      headerValue = "select a value" 
        list = "itemsList" 
        name = "typeList" 
        value = "" /> 
     </s:if> 
     <s:else> 
      <s:select id = "typeList[%{#status.index}]" 
       headerKey = "-1" 
      headerValue = "select a value" 
        list = "itemsList" 
        name = "typeList" 
        value = "" /> 
     </s:else>  
    </s:iterator> 
</s:form> 
function validateMyCode(){  
    var i=0; 
    while(i<3) {  
     var typeList = document.getElementbyId("typeList["+i+"]").value; 
    }  
} 

這裏的typelist值始終爲-1,即使我選擇一個項目。

+0

您正在覆蓋類型列表三次,它將始終是最後一個元素。 – evolutionxbox

+0

我沒有在這裏發表整個代碼的簡潔。當我調試並逐步完成時,typeList的值始終爲-1。 – want2learn

+0

一個元素是否與ID「typeList [0]」一起存在? – evolutionxbox

回答

0

你忘了增加循環中的變量。它總是0,循環是無限的。

function validateMyCode(){ 
    var i=0; 
    while(i<3) {  
     var typeList = document.getElementbyId("typeList["+i+"]").value; 
     i++; 
    }  
} 
+0

我忘了在這裏包含增量代碼。但它存在於我的原始代碼中。由於它仍然無法正常工作 – want2learn

相關問題