【发布时间】:2012-10-30 11:56:18
【问题描述】:
就是这样……我的 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>
感谢所有回复 :-)
【问题讨论】:
标签: php jquery autocomplete