-2

我制作了一个组合框,其中包含带有其 ID 的国家/地区,并且我还有一个输入文本可以自动完成。如果我从组合框中选择一个国家,我希望输入文本会显示给我,当我按下一些具有自动完成功能的单词时,包括该国家的所有城市(假设我的数据库中有它)。

下面的示例代码

形式


          City:
           <select name="city" id="city" />
             <option value="">-- First Select State --</option> 
             <option value="">Bangalore</option>
             <option value="">Mumbai</option>
             <option value="">Chennai</option>
             <option value="">Gujrath</option>
          </select>

          Area :  
          <input id="loction" name="loction" type="text" />




script
   --------

         $(document).ready(function() {

           $("#loction").autocomplete("get_course.php",
                          {
                           extraParams: {
                           country: function() { return $("#city").val(); }
                           }
                });
            });

mysql[get_course.php]


       require_once "connection.php";
   $q = strtolower($_GET["q"]);
   if (!$q) return;

    $cty = $_GET["city"];


       $sql = "select DISTINCT area as area 
                    from table_name
                    where area LIKE '%$q%' and    city = '".$cty."' ";

          $rsd = mysql_query($sql);

         while($rs = mysql_fetch_array($rsd)) 
             {
    $cname = $rs['area'];
    echo "$cname\n";

            }
4

1 回答 1

0

在您get_course.php尝试从数组元素中获取搜索模式,$_GET["city"]但在您extraParams使用发送的数据结构中autocomplete,您定义了一个名称为 的对象country。那可能是错误吗?

尝试评估数组元素$_GET["country"]

$cty = $_GET["country"];
$sql = "SELECT DISTINCT area FROM table_name "
      ."WHERE area LIKE '%$q%' AND city ='$cty'";
于 2013-08-01T14:31:10.547 回答