我真的希望避免发布新问题,但我找不到包含调用页面和“搜索”页面的 jQuery 自动完成远程功能的功能示例。 jQueryUI“演示和文档”部分不包含“search.php”的源
我已经尝试了几十种组合,但这是我开始的:
<style>
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
</style>
<script>
$(function() {
function log( message ) {
$( "<div/>" ).text( message ).prependTo( "#log" );
$( "#log" ).attr( "scrollTop", 0 );
}
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 1,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
});
</script>
<div class="demo">
<div class="ui-widget">
<label for="birds">Birds: </label>
<input id="birds" />
</div>
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
Result:
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>
</div>
和 search.php:
$conn = mysql_connect("localhost", "USERNAME", "PASSWORD");
mysql_select_db("DATABASE", $conn);
$q = strtolower($_GET["birds"]);
$query = mysql_query("select FIELD from TABLE where FIELD like '%$q%'");
while ($row = mysql_fetch_array($query)) {
echo json_encode($row);
}
有没有人有代码片段来显示他们可以分享的这个等式的两边?非常感谢您提供的任何帮助。
最佳答案
这是 search.php 的正确代码:
$conn = mysql_connect("localhost", "USERNAME", "PASSWORD");
mysql_select_db("DATABASE", $conn);
$q = strtolower($_GET["term"]);
$return = array();
$query = mysql_query("select FIELD from TABLE where FIELD like '%$q%'");
while ($row = mysql_fetch_array($query)) {
array_push($return,array('label'=>$row['FIELD'],'value'=>$row['FIELD']));
}
echo(json_encode($return));
一些关键点
- term 一词在 jqueryui 给出的示例调用页面中无处可寻,但这是使用的 Querystring 名称
- 你必须创建一个值的数组,然后在返回之前进行json编码
我希望这对 future 的一些人有所帮助!
关于php - jQuery 自动完成(远程)- 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905560/