Php 在下拉选择并发送参数后打开新页面
我在我的页面中有一个下拉列表,在从查询中获取行之后,我通过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
$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>