【问题标题】:classic asp - javascript array populated by vbscript drop down list经典的 asp - 由 vbscript 下拉列表填充的 javascript 数组
【发布时间】:2012-07-25 05:59:28
【问题描述】:

我需要创建一个基于下拉列表(多个)选定值填充的 javascript 数组,但每个下拉列表具有相同的名称,因为它们是在 for 循环中创建的。现在我有:

<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; 只返回第一个下拉列表的值,其他的被忽略。我如何获得它们?

【问题讨论】:

    标签: javascript arrays drop-down-menu asp-classic vbscript


    【解决方案1】:

    document.getElementById("phItemStatusID").value 将获取 ID 为“phItemStatusID”的第一个元素的值,因为 HTML 中的 ID 应该是唯一的。

    如果要获取第二个框的值,请使用不同的 ID。

    【讨论】:

    • 有没有办法循环遍历每个生成的phItemStatusID?在 vbscript 中,您可以使用: newPhotoItemStatusID = Request.Form("phItemStatusID")(i) 其中“i”是您想要其值的下拉列表。
    • 对于初学者:您正在混淆元素名称和 ID 的功能。在您解决这个问题之前,您的代码将无法工作。
    • 哦!我没有仔细阅读你的评论。我会试一试。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2012-04-11
    • 1970-01-01
    • 2013-07-03
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多