2016-04-28 127 views
0

我有一個3行的表格,我想要得到每行的選定下拉值。 JSP代碼:javascript table row cell selected dropdown value

<tr> 
     <td style="padding:0px;margin:0px;"> 
     <select name="lineLineType" id="lineLineType<%= i %>" onchange='javascript:doClose("errorval")' >         
     <option value=""> </option> 
     <c:forEach items="${savedlineTypes}" var="linetype">                 
      <option value="<c:out value="${linetype.linetypeId}" />" <c:if test="${linetype.linetypeId== line.lineType}">selected</c:if> ><c:out value="${linetype.linetypeId}" /> - <c:out value="${linetype.linetypeDesc}" /></option> 
                </c:forEach> 
              </select> 
              </td> 

我想下面的Java腳本,但始終我得到第一線值下拉。我怎樣才能解決這個問題? 我正在使用的Java腳本

var dd = document.getElementById("lineLineType"); 
    lineType = dd.options[dd.selectedIndex].value; 
+0

嘗試編輯您的問題是可以理解的。看起來你複製/粘貼了一些代碼,它把所有東西搞砸了。 –

回答

0

您必須爲每個下拉列表提供不同的id。 給它像lineLineType1,lineLineType2,lineLineType3 並讓他們:

var dd1 = document.getElementById("lineLineType1"); 
lineType1 = dd1.options[dd1.selectedIndex].value; 
var dd2 = document.getElementById("lineLineType2"); 
lineType2 = dd2.options[dd2.selectedIndex].value; 
var dd3 = document.getElementById("lineLineType3"); 
lineType3 = dd3.options[dd3.selectedIndex].value; 

,這可能是最簡單的,但不是最右端的解決方案。 而不是爲每個下拉列表提供id,請嘗試爲所有下拉列表設置相同的類名稱。例如,如果你給類名爲「lineLineType」, 您可以輕鬆地訪問他們像這樣:

var dd = document.getElementsByClassName("lineLineType"); 
    var dd_data = dd[row_you_want_to_get]; // row_you_want_to_get value should be between 0, 1, 2 in your case 
    var lineType = dd_data.options[dd_data.selectedIndex].value; 

希望這會有所幫助。