为啥使用 jQuery 和 PHP 的多项选择自动完成功能不起作用?
Posted
技术标签:
【中文标题】为啥使用 jQuery 和 PHP 的多项选择自动完成功能不起作用?【英文标题】:Why multiple choice autocomplete with jQuery and PHP does not work?为什么使用 jQuery 和 PHP 的多项选择自动完成功能不起作用? 【发布时间】:2012-07-26 04:34:58 【问题描述】:我想在使用 jQuery、php 和 mysql 的表单中使用 multiple autocomplete。但这对我不起作用。我有什么错误吗?
HTML 代码:
<input type="text" id="country" name="country" />
jQuery 代码:
$( "#countries" )
// don't navigate away from the field on tab when selecting an item
.bind( "keydown", function( event )
if ( event.keyCode === $.ui.keyCode.TAB &&
$( this ).data( "autocomplete" ).menu.active )
event.preventDefault();
)
.autocomplete(
source: function( request, response )
$.getJSON( "process/find_countries.php",
term: extractLast( request.term )
, response );
,
search: function()
// custom minLength
var term = extractLast( this.value );
if ( term.length < 2 )
return false;
,
focus: function()
// prevent value inserted on focus
return false;
,
select: function( event, ui )
var terms = split( this.value );
// remove the current input
terms.pop();
// add the selected item
terms.push( ui.item.value );
// add placeholder to get the comma-and-space at the end
terms.push( "" );
this.value = terms.join( ", " );
return false;
);
PHP 代码
$result = array();
$term = strtolower($_GET["term"]);
$sql = "SELECT title FROM tbl_countries WHERE title LIKE ?";
$q = $db->prepare($sql);
$q->execute(array('%'.$term.'%'));
$rows = $q->rowCount();
echo($rows);
while ($r = $q->fetch())
array_push($result,array('label'=>$r['title'], 'value'=>$r['title']));
echo json_encode($result);
【问题讨论】:
控制台中显示任何错误? 在 url.. 删除最后一部分并添加process/find_countries.php
以查看显示的内容
尝试将'lable'=>$r['title'],
改为'label'=>$r['title'],
你的意思是 term: extractLast( request.term ) , response
吗?
@Engineer 我更正了。但什么也没发生
【参考方案1】:
查看来自服务器的萤火虫响应。以及为什么要做 echo($rows); ?
【讨论】:
以上是关于为啥使用 jQuery 和 PHP 的多项选择自动完成功能不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
blueimp/jQuery-File-Upload - Ipad (ios7) 应用程序上的多项选择