【问题标题】:filling a drop-down box from an array从数组中填充下拉框
【发布时间】:2011-04-21 20:07:07
【问题描述】:

我对此有点陌生,但我试图从一个从表中提取多个许可证号的 sql 语句中填充一个数组。

所以在表格中每个人都可以拥有多个许可证,我需要存储所有许可证号并通过 javascript 将它们显示在下拉框中。我从数组中获取信息,但信息以重复的方式显示,其中第一项在下拉框中,然后用第二项重新创建下拉框,依此类推,直到所有数组信息都是显示。 我需要这种模式不要重复,但数组中的项目会填充页面上的一个下拉框。

代码如下:

     ResultSet rsTagCheck = stmt.executeQuery("SELECT PARKING.XKRPRMT.XKRPRMT_PIDM, PARKING.XKRPRMT.XKRPRMT_STATUS, PARKING.XKRPRMT.XKRPRMT_EXPIRE_YR, PARKING.XKRPRMT.XKRPRMT_TAG FROM PARKING.XKRPRMT WHERE XKRPRMT_PIDM ='" + BannerID + "'");
    while (rsTagCheck.next()){

           String TagNum = rsTagCheck.getString("XKRPRMT_TAG");
           String[] tag = new String[101];
           for (int i = 0; i < tag.length; i++)
               tag[i] = TagNum;
%>
       <table style="border:transparent" style="width:100%">
            <tr>
             <td style ="width: 300px;">
             <select style="width:150px;"tabindex="5" name="Tag">
                 <option></option><option>T - Temporary</option>
                 <option><%=tag[0]%></option>
                 <option><%=tag[1]%></option>
                 <option><%=tag[2]%></option>
                 <option><%=tag[3]%></option>
                 <option><%=tag[4]%></option>
                 <option><%=tag[5]%></option>
             </select>
             </td>

       </table>

       <div style="width:200px;"><input type="submit"value="Add Tag">
       </div>
       <button  onclick="window.location='startup.jsp'">Home</button>

        <%}
        rsTagCheck.close();
        stmt.close();
        conn.close();
      %>

我需要帮助

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 您使用的是哪种后端脚本语言? (php,perl?)
  • 我使用的是oracle数据库和javascript
  • 在我看来,它更像是 JSP 中的 Java 而不是 JavaScript。 startup.jsp 在 onclick 事件中。使用 executeQuery 并且 ResultSet 是 Java。

标签: html arrays drop-down-menu


【解决方案1】:

您需要将控件创建移到 While 循环之外。您拥有它的方式会为每个值创建一个新控件。

       <table style="border:transparent" style="width:100%">
            <tr>
             <td style ="width: 300px;">
             <select style="width:150px;"tabindex="5" name="Tag">

<%    while (rsTagCheck.next()){
....

【讨论】:

    【解决方案2】:

    假设您使用的是 php 并且 $array_from_db 保存了您的值,请将其用于您的页面:

                 <select style="width:150px;"tabindex="5" name="Tag">
                     <option></option><option>T - Temporary</option>
    
    <?php
      for( $i=0; $i < count($array_from_db); $i++){
                     echo"<option>".$array_from_db[i]."</option>";
      }
    ?>
                 </select>
    

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多