У меня есть этот код
Файл Function.js
$(function() {
function split( val ) {
return val.split( /,\s*/ );
}
function extractLast( term ) {
return split( term ).pop();
}
$( ".country_suggestion" ).bind( "keydown", function( event ) {
if ( event.keyCode === $.ui.keyCode.TAB &&
$( this ).autocomplete( "instance" ).menu.active ) {
event.preventDefault();
}
})
.autocomplete({
minLength: 1,
source: function( request, response ) {
$.ajax({
type: "POST",
url: "/suggestion.php",
data:'term='+request.term,
success: function(r){
return r;
//response(r);
},
error: function (request, status, error) {
}
});
// delegate back to autocomplete, but extract the last term
},
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
<?php
include('inc/safePDO.class.php');
include('inc/config.php');
$dbh = new
SafePDO('mysql:host='.$db['host'].';
dbname='.$db['name'].';charset=UTF8', $db['user'], $db['password']);
$term = $_POST['term'];
$list = $dbh->prepare("SELECT * FROM ((
SELECT `id`, `label` as name, CHAR_LENGTH(`label`) as name_length FROM `country`
WHERE `label` LIKE :name
) UNION (
SELECT `id`, `label` as name, CHAR_LENGTH(`label`) as name_length FROM `countryregion`
WHERE `label` LIKE :name
)) as t
GROUP BY `name`
ORDER BY name_length ASC
LIMIT 0, 10");
$list->execute(array(':name' => "%{$term}%"));
$country_list = $list->fetchAll(PDO::FETCH_OBJ);
$country = array();
foreach($country_list as $country_region_list) {
$country[] = $country_region_list->name;
}
//print_r($country_list);
echo json_encode($country);
Я пытался в большинстве случаев, выполняя поиск в Google, но не получая результат.
Я получаю данные из БД, как в отсортированном виде, но единственное, что не работает, это всплывающее окно ... всплывающее окно не отображается ...
если я распечатаю оповещение в случае успеха ajax, оно показывает закороченные данные, но после этого, что делать, я не знаю ... любая помощь будет оценена.