2012-07-26 53 views
1

我需要創建一個基於下拉列表'(多個)選定的值填充的javascript數組,除了每個下拉列表具有相同的名稱,因爲它們是在for循環中創建。現在,我有:經典的asp - javascript陣列由vbscript填充下拉列表

<script language="JavaScript"> 
    var array = []; 
    var e = document.getElementById("phItemStatusID").value; //returns first ddl value 
</script> 

,並在後面的ASP代碼是我的下拉列表選擇從數據庫填充使用VBScript:

<%for i = 0 to UBound(photoItemsArray,2)%> //for each item, generate DDL 
<select name="phItemStatusID"> 
    itemStatusID = photoItemsArray(6,i) //get current selected value 
    for j = 0 to UBound(photoStatusesArray,2)%> //for each possible status 
    <option value="<%=photoStatusesArray(0,j)%>" 
      <%if photoStatusesArray(0,j) = itemStatusID then%> 
       selected 
      <%end if%>> 
      <%=photoStatusesArray(1,j)%> 
     </option> 
    <%next%> 
</select> 
next%> 

這工作在的情況下,只有一個下拉列表產生。我遇到的問題涉及有多個下拉列表的名稱爲phItemStatusID的實例。

var e = document.getElementById("phItemStatusID").value;只返回第一個下拉列表的值,其他值被忽略。我如何獲得它們?

回答

0

document.getElementById("phItemStatusID").value將獲得ID爲「phItemStatusID」的第一個元素的值,因爲HTML中的ID應該是唯一的。

如果要獲取第二個框的值,請使用其他ID。

+0

是否沒有辦法循環遍歷每個生成的phItemStatusID?在vbscript中,您可以使用:newPhotoItemStatusID = Request.Form(「phItemStatusID」)(i)其中「i」是您想要的值的下拉列表。 – user1555171 2012-07-26 15:44:01

+1

對於初學者:你在混合元素名稱和ID的功能。直到你解決這個問題,你的代碼纔會起作用。 – 2012-07-26 15:51:19

+0

哦!我沒有仔細閱讀你的評論。我會給這個鏡頭。謝謝! – user1555171 2012-07-26 15:57:20