使用ajax根据组合框值填充文本框


populate textbox based on combobox value using ajax

我急需你的帮助。我似乎找不到我的代码中有什么错误。

情况是,我试图根据我的combobox值填充我的文本框字段,它在sql数据库中连接。我在网上尝试了一些代码,然后我发现了一个似乎准确的代码,但我似乎无法在文本框中显示结果。

这是我的HTML代码:

<?php 
echo"Concept Store:";
echo "<select width='100' id='strs' name='strs'  >";
echo "<option></option>";
  while($row=sqlsrv_fetch_array($stmt))
    {
        $x= $row['strnm'];
                echo " <option> $x</option>" ;
    }
      echo "</select>";
?>
 Address &nbsp&nbsp&nbsp: <input type="text" id="add" name="add" size="27" /><br><br>

这是AJAX:

 <script type="text/javascript">
  $(document).ready(function(){
    $('#strs').change(function(){
      $.post("gadd.php",{strs:$(this.val() )},function(result){
            $("#add").val(result);
      });
   });
  });
 </script>

这是我的"gadd.php"

<?php
session_start();
include ('sqlconn.php');
$gadd=$_post['strs'];
//$t1= mysql_real_escape_string($t1);
$sql="Select distinct dadd1 from ostore where strnm='".$gadd."' ";
$stmt = sqlsrv_query($conn,$sql);
//echo "<option></option>";
while ($row = sqlsrv_fetch_array($stmt))
{
      // $type2=$row['dadd1'];
       echo $row['dadd1'];
        //echo '<option value ="'.$type2.'">'.$type2.'</option>';
}
?>

如果你能帮助我,那将是非常棒的,谢谢!

检查一下。全局变量应该是大写的。

$gadd = $_POST['strs'];

首先,确保全局变量$gadd = $_POST['strs']; 使用正确的格式

第二,检查你的查询是否有效,试试这个

$sql=("Select distinct dadd1 from ostore where strnm = '$gadd'");

很可能是因为您在选项中缺少值。使用此:

echo " <option value='$x'> $x</option>" ;

而不是这个:

echo " <option> $x</option>" ;

如果仍然不起作用,就像之前所说的那样,检查查询是否起作用。您可以在chrome中通过选项"Inspect element"和转到"Network"选项卡来实现这一点。您可以看到通过ajax发送的内容和返回的数据。