НОВЫЙ ОТВЕТ: Возможно, я неправильно понял ваш вопрос раньше. Возможно, вы просто спрашиваете об этом:
$( "#mylist" ).autocomplete({
source: myjsonarray,
open: function( event, ui ) {
$('.ui-autocomplete').find('li:first').prepend("<div>We Suggest:</div>")
}
});
Получите доступ к событию «открыть», добавьте div перед первым элементом списка.
СТАРЫЙ ОТВЕТ:
//make an empty container
$myresults=array();
//manually create your first item
$myfirstitem=array("value"=>"We suggest","label"=>"We suggest")
//put your first item in the container
array_push($myresults,$myfirstitem);
// fetch your data
while $result=mysql_query("SELECT phrase from mytable"){
//put each item in the container
array_push($myresults,array(
"value"=>$result,
"label"=>$result
));
}
//$myresults is now full of phrases.
///Uncomment this to check it if you want.
//var_dump($myresults);
//encode and echo your result
echo json_encode($myresults);
Приведенный выше код иллюстрирует один из способов сделать то, что вы хотите сделать. С учетом сказанного я, вероятно, не стал бы указывать «Мы предлагаем» в качестве фактического варианта… если вы представляете список бейсбольных карточек, пользователю не имеет смысла выбирать «мы предлагаем» в качестве своего фаворита. бейсбольная карточка...
Кроме того, не позволяйте json беспокоить вас - это просто "обозначение". Этот пример очень прост — подумайте о нем и используйте его как любой другой массив.
Вы также можете сделать это более эффективно - вам не нужно возвращать метку и значение... но это уже другой разговор.
Кроме того, важно, чтобы вы не использовали функции mysql_*. Посмотрите на mysqli и pdo.
Удачи, надеюсь помог.
person
Ryan
schedule
26.10.2013