我制作了一个组合框,其中包含带有其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";
}
在get_course.php
中,您试图从数组元素$_GET["city"]
中获取搜索模式,但在使用autocomplete
发送的extraParams
数据结构中,您定义了一个名为country
的对象。这会是错误吗?
尝试评估数组元素$_GET["country"]
:
$cty = $_GET["country"];
$sql = "SELECT DISTINCT area FROM table_name "
."WHERE area LIKE '%$q%' AND city ='$cty'";