就是这样......我有这样的jQuery代码:
jQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#val').autocomplete({
source: "search.php",
});
});
</script>
HTML:
<input class="searchInput" id="val" name="val" type="text" />
PHP(搜索.php):
$con = mysql_connect("localhost","root","");
$db = mysql_select_db("x",$con);
$sql = mysql_query("SELECT * FROM opcionais WHERE Opcional LIKE 'Nokia%'");
$result = array();
while($linha = mysql_fetch_array($sql)){
$result[] = $linha['Opcional'];
}
echo json_encode($result);
但这是交易......当我打开我的 search.php 时,它会以 json 格式出现所有结果......然后,如果我尝试自动完成,他会加载所有结果......例如......
在 search.php 我收到:
[“诺基亚”、“诺基亚 Lumia”]
好的......在自动完成中,当我输入“LUMIA”时,小部件也会加载“诺基亚”。Buuutt .....如果我复制我在“search.php”中得到的结果并在jquery脚本中粘贴一个变量,自动完成就可以了。
任何人都知道为什么我的外部结果源不像我将结果与 jQuery 代码一起直接放在变量上那样工作?
在此先感谢并为我糟糕的英语感到抱歉:-)
编辑:
所以我放了更多图片来展示发生了什么......那样它不起作用,就像 SOURCE 不能接受“$('#val').val()”......
解决了
我自己解决了这个问题...
<script type="text/javascript">
$(document).ready(function(){
$('#val').keyup(function(){
var x = "search.php?ac=" + $('#val').val();
$('#val').autocomplete({
source: x,
minLenght:5,
});
});
});
</script>
感谢所有回复:-)