这是我的代码
<input type="text" name="country" id="country"/>
<input type="text" name="city" id="city"/>
这是我的jquery代码
$(document).ready(function() {
$('#country').keydown(function(){
$(this).autocomplete({
source: "get_country.php",
minLength: 0,
autoFocus: true,
select: function(event, ui)
{
}
});
});
var country = $("#country").val();
$('#city').keydown(function(){
$(this).autocomplete({
source: "get_city.php",
//type:"GET",
data : 'country='+country,
minLength: 0,
autoFocus: true,
select: function(event, ui)
{
}
});
});
});
这是我的代码get_city.php
include_once('config.php');
if ( !isset($_REQUEST['term']) )
exit;
$country = $_POST['country'];
$rs = mysql_query('select city from xyz_table where country="$country" and city like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by city asc limit 0,10');
$data = array();
if ( $rs && mysql_num_rows($rs) )
{
while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
{
$data[] = array(
'value' => $row['city']
);
}
}
echo json_encode($data);
flush();
此处显示以下问题注意:未定义的索引: G:\ xampp \ htdocs \ xyz \ get_city.php 中的国家/地区 6
我在德国,英国等自动完成搜索中获得了国家/地区
我希望获得国家/地区的自动完整搜索城市(例如德国/英国)
我该如何解决,请提出任何建议
答案 0 :(得分:1)
更改此
$rs = mysql_query('select city from xyz_table where country="$country" and city like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by city asc limit 0,10');
到
$rs = mysql_query("select city from xyz_table where country='$country' and city like '". mysql_real_escape_string($_REQUEST['term']) ."%' order by city asc limit 0,10");
查看差异在您的查询中$country
设置为字符串而非实际country
。
使用此
$_REQUEST['country']
使用此
发送数据data : { country : country },
在通话中声明country
$('#city').keydown(function(){
var country = $("#country").val();
$(this).autocomplete({
source: "get_city.php",
............