jquery autosuggest добавить заголовок перед элементами

Я использую jquery autosuggest и хотел бы добавить заголовок по умолчанию непосредственно перед появлением всех элементов. Например, когда пользователь начинает свой поиск, в первом раскрывающемся элементе будет написано «Мы предлагаем:», за которым следует список элементов. Вот что у меня есть на данный момент

 $term=$_GET["term"];

$query=mysql_query("ВЫБЕРИТЕ ОТЛИЧНЫЕ region ОТ бизнеса, где region как '$term%' ограничение 10"); $json=массив();

while($region=mysql_fetch_array($query)){
$json[]=array(
                'value'=> $region["region"],
                'label'=>$region["region"]
                    );
}

эхо json_encode ($ json);

У меня есть разумное понимание php и jquery, но не json

Спасибо за любую помощь


person user1190323    schedule 26.10.2013    source источник


Ответы (1)


НОВЫЙ ОТВЕТ: Возможно, я неправильно понял ваш вопрос раньше. Возможно, вы просто спрашиваете об этом:

$( "#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
comment
Спасибо за вашу помощь и другие советы (я удалил ярлык) - это сработало, и вы правы, это нужно игнорировать как предложение, но вы указали мне правильное направление. - person user1190323; 27.10.2013
comment
@ user1190323, пожалуйста, прочитайте мой отредактированный ответ, я думаю, это гораздо больше, чем вы ищете. - person Ryan; 27.10.2013
comment
Это именно то, что я искал. Спасибо за всю вашу помощь, я оценил это. - person user1190323; 27.10.2013