【问题标题】:How do I make a list in a drop down box depending on another drop down box?如何根据另一个下拉框在下拉框中制作列表?
【发布时间】:2014-04-05 13:25:27
【问题描述】:

如何在PHP中创建一个带有2个下拉列表框的表单,即第二个“下拉列表框”依赖于第一个“下拉列表框”的结果? 如果有人问过这个问题,我深表歉意,但我找不到类似的问题。 提前谢谢你。

对不起,我是新手。这是我的代码:

<script>
function reloadPage()
  {
  location.reload();
  }
</script>
<form name="form1" action="updateitemstock.php" method="post">
 <table border="0" width="50%">
  <tr>
    <td width="18%"><b><font face="Verdana" size="2" color="#FFFFFF">Select 
Vendor</font></b></td>
    <td width="18%"><select size="1" id=name="dvendor">
<option selected>Choose Vendor Name</option>
    <?php
    while ($row = mysql_fetch_array($vendor_list)) { 
    ?>
 <option value="<?php echo $row[0]; ?>" onclick="reloadPage()"><?php echo $row[0]; ?></option>
<?php
    }
    ?>
    </select></td>
  </tr>
  <tr>
    <td width="18%"><b><font face="Verdana" size="2" color="#FFFFFF">Select 
Item</font></b></td>
    <td width="18%"><select size="1" name="ditem">
    <option selected>Choose Item Name</option>
    <?php
    if (isset($_POST['dvendor']) {
   $item_list = mysql_query("SELECT DISTINCT itemdesc FROM item WHERE dealer=$_POST['dvendor']");
  }
  while ($row = mysql_fetch_array($item_list)) { 
    ?>
          <option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
    <?php
  }
    ?>
    </select></td>
  </tr>
  <tr>
    <td width="18%" colspan="2">
    <div align="center">
  <table border="0">
   <tr>
    <td>
    <input type="submit" value="Save" name="bsave"></td>
     <td>
    <input type="submit" value="Upload" name="bupload"></td>
   </tr>
  </table>
    </div>
    </td>
  </tr>
 </table>
 </form>

【问题讨论】:

标签: javascript php html


【解决方案1】:

此外,这两个列表可以在PHP 中创建,但它们的数据必须依赖于客户端语言,例如。 JSjQuery。例如,您要创建两个列表,例如,一个用于states 列表,另一个用于cities,处于从前一个列表中选择的状态。在这种情况下,您将首先使用 PHP 填充 states 的列表,并在状态列表中创建一个空白模板(列表中没有“option”元素)。现在,在用户端,当用户选择一个州时,您可以向您的服务器发送AJAX 请求并获取该所选州的城市列表。请求完成后,您可以使用服务器返回的数据填充城市列表。 或者,您可以为州创建一个列表,并为城市创建与州一样多的列表。此列表中的每一个都将分别包含一个州的城市。现在,在客户端,您可以将“change”事件绑定到州列表,根据用户选择的州,一次只会向用户显示一个城市列表。除了不建议使用这种方法外,这种方法降低了对任何 AJAX 请求的需求,但是您必须在后端一次创建所有列表。 我希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    试试这个 javascript Cascading Dropdown:http://jquery-plugins.net/jquery-cascading-dropdown-plugin

    【讨论】:

      【解决方案3】:

      有一个 jQuery 插件会很有帮助。对于动态选择,请使用远程版本。

      Chained Selects Plugin for jQuery

      希望这会有所帮助:)

      【讨论】:

        猜你喜欢
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-16
        相关资源
        最近更新 更多