【问题标题】:How to Redirect to Another Page in PHP based on drop down selected value/text?如何根据下拉选择的值/文本重定向到 PHP 中的另一个页面?
【发布时间】:2016-02-25 16:52:26
【问题描述】:

我的代码现在可以工作了。感谢大家!这是最终代码,以防其他人最终遇到和我一样的麻烦。

<?php
mysql_connect('localhost', 'root', 'password');
mysql_select_db('database');
$query = "SELECT * FROM classroom";
$result = mysql_query($query);
?>
<select name="select1" id="select1">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['classname'];?>"> <?php echo $line['classname'];?> </option>
<?php
}
?>
</select>
<html>
<script type="text/javascript">

var urlmenu = document.getElementById( 'select1' );
 urlmenu.onchange = function() {
      window.open( "url/viewclass.php?classname="  + this.options[ this.selectedIndex ].value );
 };
</script>
</html>

【问题讨论】:

  • 你在用jQuery吗?
  • 我不是。我还没学过jquery。

标签: php html sql drop-down-menu


【解决方案1】:

在你的 html 中 MATH 选项的 value 属性是空的,像上面的 php 代码一样填充它。

您应该将viewclass.php?classname= 放在open 方法中并将其与所选项目连接。

HTML:

<select name="menu1" id="menu1">
<option value="MATH 2072">MATH 2072</option> <!-- php script should fill value -->
<option value="SCIENCE 1072">SCIENCE 1072</option> <!-- php script should fill value -->
</select>

JS:

var urlmenu = document.getElementById( 'menu1' );
 urlmenu.onchange = function() {
      window.open( 'viewclass.php?classname=' + this.options[ this.selectedIndex ].value );
 };

Here's a working jsfiddle

【讨论】:

  • 我把它留空作为我之前使用的例子。如果我将一个类添加到我的数据库中,我希望我的下拉列表能够自动更新,同时进入代码并自己添加它。我想用一个while循环从我的数据库中填充下拉菜单。填充下拉菜单后,我想要任何似乎将我重定向到该类的 viewclass.php 的类的名称。
  • 我现在了解JS部分。抱歉,在编码方面我还是新手。现在有没有办法可以从我的数据库中填充下拉菜单并仍然使用 js 代码来重定向下拉菜单?
  • 是的,您发布的 php 代码是正确的。填充任务使用 php 代码和 while 循环。页面加载后,组合被填充,然后 js 将用于重定向。
  • 现在说得通了!我确实有最后一个问题。有没有办法可以从 while 循环中为每个 id 添加一个值?例如,数学 2072 需要具有值 math_2072,而历史 3500 需要具有值 history_3500。
  • 您应该将其存储在您的数据库中,并在您的 while 循环中获取该列。例如选项值标签 echo '$line["classvalue"]' 和组合标题 echo '$line["classname"]'
【解决方案2】:

onchange 的 select 上调用函数:-

<select name="menu1" id="menu1" onchange="myFunction()">
<option value="">MATH 2072</option>
</select>

创建函数:-

<script type="text/javascript">
function myFunction(){
 var urlmenu = document.getElementById( 'menu1' );
 urlmenu.onchange = function() {
      window.open( this.options[ this.selectedIndex ].value );
 };
}
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多