Как использовать jQuery для параметров formatItem, formatMatch и formatResult для .autocomplete? - PullRequest
1 голос
/ 20 ноября 2010

Я использую плагин jauery .autocomplete, и я был бы признателен за помощь в формировании результатов, отображаемых в раскрывающемся меню, которое заполняется при вводе текста в поле ввода.

Чтобы получитьданные для заполнения автозаполнения, я извлекаю из mySQL, используя этот PHP:

 $sql = ( 'SELECT tag, title, author, content, id FROM labels' );
 $result = mysql_query( $sql );
 $Response = array();
 while( $row = mysql_fetch_object( $result ) ){
 $Response[] = array(
                           "id" => $row->id,
                           "name" => $row->tag . ": " . $row->title . ": " . $row->content .""
                         );
 }

Когда пользователь выбирает наиболее подходящий для него вариант автозаполнения, я преобразую приведенное выше «имя» в «id»."используя этот метод: var AllTagData =;Теги var = [];

  for(var i in AllTagData){
     Tags.push(AllTagData[i].name);
  }

  function getIdFromTag(_name){
      for(var i in AllTagData){
          if(_name == AllTagData[i].name){
              return AllTagData[i].id;
          }
      }
  }

Пока все хорошо.Наконец, я использую плагин автозаполнения jQuery для вывода данных для пользователя:

$(document).ready(function(){
     $("#Responses").autocomplete({
         source: Tags,
         matchContains: true,
         autoFill: true,
         select: function(e, ui){
             $("#hidden_tags").val( getIdFromTags($("#Responses").val()) );
          }});
 });

В этой последней части кода мне нужна помощь в реализации параметров formatItem, formatMatch и formatResult.

Из приведенного выше PHP я выводю теги, заголовок и содержимое в «имя».Я хотел бы отформатировать параметры автозаполнения для пользователя:

  • Показать теги и заголовок
  • Скрыть содержимое
  • Поиск по тегам, заголовку и содержимомудля возможных совпадений

Поэтому, даже если я хочу, чтобы автозаполнение осуществляло поиск по содержимому, я не хочу, чтобы содержимое отображалось в заполненном списке автозаполнения.Я хочу, чтобы отображались только теги и заголовок.

У меня было много проблем с этим, и я довольно много искал, чтобы найти ответ, и был бы очень признателен за любую помощь, которую вы можете дать, как это сделать.,Пожалуйста, задавайте любые последующие вопросы, если вам нужны дальнейшие разъяснения.Спасибо!

1 Ответ

0 голосов
/ 12 декабря 2010

Я думаю, что вы используете другую версию плагина, но если вы посмотрите на эту:

http://code.google.com/p/jquery-autocomplete/

Вы найдете файл index.html с примерами, которые выспросите, например:

showResult: function(value, data) {
    return '<span style="color:red">' + value + '</span>';
},

Удачи!

...