Javascript 使用Ajax,如何将表单中的下拉菜单选择值与数据库中的记录相匹配,并获取相关记录/行以预填充表单?

Javascript 使用Ajax,如何将表单中的下拉菜单选择值与数据库中的记录相匹配,并获取相关记录/行以预填充表单?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一个带有选项的下拉菜单…我需要将一个选项的值与数据库中invoiceid列下的值相匹配,然后在单击“我的预填充”按钮时获取表单数据的相关记录/行以预填充表单。下面是我所能得到的,我觉得我已经很接近了。我不知道我缺少了什么,也不知道如何让这段代码工作。非常感谢任何人的帮助 形式 orders.php 现在是JavaScript的结尾 .done(function(data) { data = JSON.parse(data); $('#location').val(data.l

我有一个带有选项的下拉菜单…我需要将一个选项的值与数据库中invoiceid列下的值相匹配,然后在单击“我的预填充”按钮时获取表单数据的相关记录/行以预填充表单。下面是我所能得到的,我觉得我已经很接近了。我不知道我缺少了什么,也不知道如何让这段代码工作。非常感谢任何人的帮助

形式

orders.php

现在是JavaScript的结尾

.done(function(data) {
    data = JSON.parse(data);
    $('#location').val(data.location);
    $('#q1').val(data.q1);
    $('#subcheck').val(data.subcheck);
});
我假设表中有以下列location、q1和subcheck

编辑

您还需要随请求发送get参数。美元.ajax。将数据设置为:

最好使用$.get

如果它仍然不起作用。。Remove data=JSON.parsedata


希望它现在能工作。

谢谢……以上两个假设都是正确的……但是我尝试使用您提供的代码修改代码,但当我单击“prefill”按钮时,什么都没有发生……我想可能会有东西介于$.ajax{url:orders.php,data:{--我在这两者之间缺少什么东西吗?-----}}.donefunctiondata{…..不确定我错过了什么谢谢你的帮助尽管尝试了你的建议…仍然没有预填充…谢谢你的时间和努力
<?php

// Create the connection to the database
$con=mysqli_connect("xxx","xxx","xxx","xxx");


// Check if the connection failed
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  die();
}



  if (isset($_GET['dropdown-select']))
{
    $dropdown-select= $_GET['dropdown-select'];

   $query = "SELECT location, q1, subcheck
        FROM seguin_orders
  WHERE invoiceid = '".($dropdown-select)."'";

    $result = mysqli_query($con,$query);

    while ($row = mysqli_fetch_assoc($result))c{
 echo json_encode($row);
 die(); 
} 


    ?>
while ($row = mysqli_fetch_assoc($result))c{
 echo json_encode($row);
 die(); // assuming there is just one row
}
.done(function(data) {
    data = JSON.parse(data);
    $('#location').val(data.location);
    $('#q1').val(data.q1);
    $('#subcheck').val(data.subcheck);
});
    {
        'dropdown-select': invoiceid
    }
$.get('orders.php', {
     'dropdown-select': invoiceid
 }).done(function (data) { .....});