【发布时间】:2014-08-18 18:27:26
【问题描述】:
我正在努力做到这一点,当一个人从下拉菜单中选择一个选项时,会显示另一个下拉菜单。因此,如果我有一个包含 3 个选项的下拉菜单,“温哥华”、“新加坡”、“纽约”。当用户选择温哥华时,一个下拉菜单会显示几个选项,如果他们选择纽约,则会出现另一个淹没菜单出现了。为了让事情变得复杂,我还使用 php 作为它最终将在服务器端运行的东西。
echo "<script type=\"text/javascript\">";
echo "function getDropDown(sel){";
echo "hideAll();";
echo "document.getElementById(sel.options[sel.selectedIndex].value).style.display ";
echo "= 'block';";
echo "}";
echo "function hideAll(){";
echo "document.getElementById(\"vancouver\").style.display = 'none';";
echo "document.getElementById(\"singapore\").style.display = 'none';";
echo "document.getElementById(\"newyork\").style.display = 'none';";
echo "}";
echo "</script>";
echo "<tr>";
echo "<td align=\"right\">";
echo "<td>";
echo "<select name=\"optionDrop\" onChange=\"getDropDown(this)\">";
echo "<option value=\"\">Please Select</option>";
echo "<option value=\"vancouver\">Vancouver</option>";
echo "<option value=\"singapore\">Singapore</option>";
echo "<option value=\"newyork\">New York</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"right\">City</td>";
echo "<td>";
echo "<div id=\"vancouver\" style=\"display: none;\">";
echo "<select name=\"optionDrop\" >";
echo "<option value=\"\">Please Select</option>";
echo "</select>";
echo "</div>";
echo "<div id=\"singapore\" style=\"display: none;\">";
//echo "<select name=\"optionDrop2\">";
// echo "<option value=\"\">Please Select2</option>";
echo "Sing";
echo "</div>";
echo "<div id=\"newyork\" style=\"display: none;\">";
echo "New York";
echo "</div>";
echo "</td>";
echo "</td>";
echo "</tr>";
Right now when I select the option "Vancouver" a drop down menu does shot up, and when selected other options a text shows up.但是,如果我取消注释这些行
//echo "<select name=\"optionDrop2\">"; // echo "<option value=\"\">Please Select2</option>";
然后就没有任何效果了。无论我选择什么选项都没有显示。我完全被卡住了,无法弄清楚它有什么问题。
【问题讨论】:
-
你为什么要这样写 html :( 让我难过
-
您可以使用 jQuery 获取下拉列表的值,然后执行以下两项操作之一:(1) 动态创建另一个下拉列表,(2) 有一个 CSS 显示值为 none 的现有下拉列表设置为可见。 jQuery 将帮助您根据用户的响应构建表单。请,请,请不要回显您所有的 HTML。如果这是 PHP,只需正常输入 HTML。 PHP 页面可以像 HTML 页面一样编码 - 只需在使用 PHP 代码的地方严格使用 PHP 标记。
标签: javascript php html css