我想用数据库项填充Jquery自动完成搜索...而不是使用"名称"如果分配了一个名称列表,我可以从我的数据库源搜索吗?
$(function() {
var names = [ "sandy", "ruga", "malicka" ];
var normalize = function( term ) {
var ret = "";
for ( var i = 0; i < term.length; i++ ) {
ret += accentMap[ term.charAt(i) ] || term.charAt(i);
}
return ret;
};
$( "#developer" ).autocomplete({
source: function( request, response ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
response( $.grep( names, function( value ) {
value = value.label || value.value || value;
return matcher.test( value ) || matcher.test( normalize( value ) );
}) );
}
});
});
答案 0 :(得分:0)
一般的想法是:
if(User starts typing in search box) {
Fire keydown event in JavaScript {
Send ajax request to your database,
return a JSON object with relevant data
Populate a list with those hits
Assign said list to autocomplete
}
}
答案 1 :(得分:0)
你必须使用AJAX。
AJAX用于将请求发送到远程服务器,然后从服务器接收数据。
在服务器端,您可以创建一个服务,该服务将接收特定请求并作为响应发送结果。之后,您可以将结果保存在列表中并执行您现在正在执行的操作。
答案 2 :(得分:0)
从jQuery UI自动完成检查此示例:http://jqueryui.com/demos/autocomplete/#multiple-remote
基本理念如下:
...
source: function( request, response ) {
$.getJSON( "yourserver/data.php", {...params...}, response );
},
...