我的页面中有一个下拉列表,我从查询中获取行后通过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>
答案 0 :(得分:0)
You are using wrong parameter here use projectname instead of name in below code.
<script type="text/javascript">
$(document).ready(function()
{
$("#dropdown").change(function()
{
var projectname = $('#dropdown :selected').text();
window.location = 'http://127.0.0.1/my-site/project.php?name=' + name;
});
});
</script>
请记住您正在使用text()函数,这将为您提供文本而不是值,您需要使用val()函数。
:)享受编码。
答案 1 :(得分:0)
您必须在选择框中使用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>
希望这有帮助。
答案 2 :(得分:-2)
我能够使用
获得它 echo("First name: " . $_GET['name'] . "<br />\n");