Ron*_*anC 5 php mysql jquery autocomplete
嗨,有人可以看看这个,让我知道我哪里出错了.我想让jQuery UI自动完成工作.这是我的代码:这是search.php
include "db_connect.php";
$search = $_GET['term'];
$result = mysql_query("SELECT Title FROM `movie` WHERE `Title` LIKE '%$search%' ORDER BY Title ASC") or die('Something went wrong');
$rows = array();
while ($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
print json_encode($rows);
?>
Run Code Online (Sandbox Code Playgroud)
这是我的javascript内联脚本
<script type="text/javascript">
$(document).ready(function()
{
$('#auto').autocomplete(
{
source: "./search.php",
minLength: 3
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这就是'自动'div
<div id="searchTxtFieldDiv">
<p><input type="text" id="auto" /></p>
</div>
Run Code Online (Sandbox Code Playgroud)
当我使用firebug查看调用时,我看到search.php正在返回
[{"Title":"Sin City"}]
Run Code Online (Sandbox Code Playgroud)
jQuery只显示UNDEFINED的任何想法?
小智 7
看看jquery ui自动完成文档.您要返回的JSON与自动填充查找的内容不匹配.您返回的对象必须具有名为label或value(或两者)的属性.
您可以尝试以下选项:
更改返回的JSON以包含标签/值属性,例如:
[{"label":"Sin City"}]
Run Code Online (Sandbox Code Playgroud)
从示例中它似乎也使用id属性.我相信以上是自动完成显示值列表的最低要求.我想你也可以返回一个字符串数组,它将以与上面完全相同的方式呈现它.
[ "Sin City", "Etc" ]
Run Code Online (Sandbox Code Playgroud)
更改自动完成的private _renderItem函数以使用自定义属性,如此自动完成示例(未经测试)中所示:
$( "#project" ).autocomplete({
source: "./search.php",
minLength: 3
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( item.Title )
.appendTo( ul );
};
Run Code Online (Sandbox Code Playgroud)
这是一个更灵活但更丑陋的imho.
| 归档时间: |
|
| 查看次数: |
17444 次 |
| 最近记录: |