Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择使用ajax更改框_Php_Ajax - Fatal编程技术网

Php 选择使用ajax更改框

Php 选择使用ajax更改框,php,ajax,Php,Ajax,我试图构建一个选择框,用ajax改变第二个选择框的值 首先,我选择地区,而不是这个地区的城市 你能告诉我我做错了什么吗 客户端: <script> $(function () { $("#first").change(function () { $("#second").load('recs.php?area_id=' + $(this).val()); }); }); </script> <form method="post" action

我试图构建一个选择框,用ajax改变第二个选择框的值

首先,我选择地区,而不是这个地区的城市

你能告诉我我做错了什么吗

客户端:

<script>
$(function () {

  $("#first").change(function () {
    $("#second").load('recs.php?area_id=' + $(this).val());
  });

});
</script>


<form method="post" action="tosomewhere.php">

    <select id="first" name="area_id">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>

    <select id="second" name="section">  </select>

</form>
服务器端:

<?PHP

    include "db.php"

    $areaID = $_GET['area_id'];
    $second_option = "";

    $query2 = mysql_query("SELECT * FROM `cities` WHERE area_id = $areaID ORDER BY id ASC");
    while($index = mysql_fetch_array($query2)) 
    {
        $id = $index['id'];
        $name  = $index['name'];

        $second_option .= "<option value='$id'>$name</option>";
    }

    echo $second_option;

?>
试试这个

$(function () {

  $("#first").change(function () {
    $.get('recs.php', {area_id: $(this).val()}, function(data) {
      $("#second").html(data);
    });
  });

});
注意:最好在echo之后放一个出口


如果我是你,我会从php端返回一个json编码的数组,并循环它,然后用jquery将它附加到选择框中。这要干净得多。@NikhilMohan-谢谢,但它仍然不起作用。我似乎觉得客户端的脚本部分根本没有收到任何结果……我通常不使用load方法。也许他们会在将来的版本中反对它。请看这个答案,json发送数据要简洁得多,在获得数据后,可以使用jquery轻松地对其进行操作。@NikhilMohan所说的get我不是指get方法。
echo $second_option;
exit;