2016-06-10 90 views
0

我應該如何獲得下拉列表中的所有選項(在html下)並將其轉換爲Javasctipt中的數組? 代碼片段來自jsp/html。 的Form.projectList是Java對象調用如何在JavaScript中將<option>標記的元素轉換爲數組?

<c:forEach items="${Form.projectList}" var="val"> 
    <option ${Form.project eq val.projectId?'selected="selected"':''} 
      value="<c:out value="${val.projectId}"/>"><c:out value="${val.project}"/></option> 
</c:forEach> 
+1

如果你在Javascript中這樣做,沒關係它從何而來。 – Barmar

回答

0

使用SELECT和jQuery的id來填充數組。像下面這樣

var arr=new Array(); 
$("#dropdwonid option").each(function() 
{ 
    arr.push($(this).text()); 
}); 
0

你需要你的select元素的名稱和訪問options收集關閉它。舉例來說,如果你有一個form名爲myFormselect元素稱爲myItems那麼你將訪問在選項列表下拉這樣的:

for(var i = 0; i < document.myForm.myItems.options.length; i++) 
{ 
    alert(document.myForm.myItems.options[i].value); 
} 
0

只需要像通常那樣創建一個JS數組。然後通過將數組放入JSP循環中來推入這些值。

<script language="javascript"> 
var myJsArry = []; // JS array 
// Your JSP loop 

<c:forEach items="${Form.projectList}" var="val"> 

    myJsArry.push(${val.projectId); // fill your JS array 

    <option ${Form.project eq val.projectId?'selected="selected"':''} 
     value="<c:out value="${val.projectId}"/>"><c:out value="${val.project}"/> 
    </option> 
</c:forEach> 
</script> 

Populate JavaScript Array from JSP List

+0

我不認爲你可以使用HTML內的JS語法將項目推入數組,有沒有另一種解決方案呢? 因爲現在,我只是打印列表中的所有項目 – thomas101rcx

+0

是的。您可以在JSP文件中創建腳本標記,並將JS變量放入循環中。在我的工作中,我經常在幾個項目中完成它。 –

+0

是這樣的嗎?我不太熟悉Js語法,所以請指出我是否做錯了什麼。 謝謝! ' ' – thomas101rcx

相關問題