Php 在下拉选择并发送参数后打开新页面

Php 在下拉选择并发送参数后打开新页面,php,jquery,html,drop-down-menu,Php,Jquery,Html,Drop Down Menu,我在我的页面中有一个下拉列表,在从查询中获取行之后,我通过php生成该下拉列表。这个很好用 <?php $conn = new mysqli('localhost', 'user1', 'qwER$%#RFVD', 'naming_module') or die ('Cannot connect to db'); $result = $conn->query("select surname from Names"); echo "<div id='drop

我在我的页面中有一个下拉列表,在从查询中获取行之后,我通过php生成该下拉列表。这个很好用

<?php
$conn = new mysqli('localhost', 'user1', 'qwER$%#RFVD', 'naming_module') 
or die ('Cannot connect to db');

    $result = $conn->query("select surname from Names");

    echo "<div id='dropdown'>";
    echo "<select name='id'>";
    echo '<option value="'.$id.'">Select a name</option>';

    while ($row = $result->fetch_assoc()) 
    {
      unset($id, $name);
      $id = $row['id'];
      $name = $row['name']; 
      echo '<option value="'.$id.'">'.$name.'</option>';
    }

    echo "</select>";
    echo "</div>";
?>
我的目标是,一旦我在下拉列表中选择了一个名称,我想自动移动到另一个页面,并将选择的文本作为参数发送,这样我就可以在另一个查询中使用它,从数据库中获取有关名称的更多详细信息

这可以用PHP实现吗?我的代码中也有jQuery代码段,所以如果这是一个选项,我也可以利用它

我试过下面的方法,但不起作用

<script type="text/javascript">
    $(document).ready(function() 
     {
       $("#dropdown").change(function() 
        {
           var name =  $('#dropdown :selected').text(); 
           window.location = 'http://127.0.0.1/my-site/project.php?name='  + name;
        });

    });
</script>

我能用电脑得到它

姓名:$_获取['name']\n

请记住,您使用的是文本函数,这将为您提供文本值,而不是使用val函数所需的值


:享受编码。

您必须使用选择框中的id属性,jquery才能工作

echo "<div id='dropdown'>";
echo "<select name='id' id='someid'>";
更改jquery中的id名称

<script type="text/javascript">
    $(document).ready(function() 
     {
       $("#someid").change(function() 
        {
           var name =  $('#someid:selected').text(); 
           window.location = 'http://127.0.0.1/my-site/project.php?name='  + name;
        });

    });
</script>

希望这有帮助。

您的变量是projectname,但您在窗口中使用的是name。位置分配。我更正了这一点。看来我找到了解决办法。我把它贴在下面作为答案。请检查::selected使查询引擎选择所选选项元素,以便文本在这种情况下返回值。还有projectname!=名称,所以可能编辑的代码,工作的答案。你能给我提供实时页面链接,我会检查和更正控制台检查。logprojectname,什么是来这里你也可以检查警报和检查后,改变这是呼叫或不。如果没有,则使用jquery.on函数进行检查
<script type="text/javascript">
    $(document).ready(function() 
     {
       $("#someid").change(function() 
        {
           var name =  $('#someid:selected').text(); 
           window.location = 'http://127.0.0.1/my-site/project.php?name='  + name;
        });

    });
</script>