1

Я работаю с плагином «typeahead» из Bootstrap.Bootstrap typeahead - Подразделы (заголовки)

я загрузить данные с помощью AJAX, как это:

$.ajax({ 

      type: "POST", 
      url: "/library/autocomplete", 
      dataType: 'json', 
      success: function(data) { 
       $('#autocomplete').typeahead({source: data}) 
      }, 
      error: function(data){ 
       console.log("Data is: " + data); 
      }, 
      onComplete: function(){ 

      } 
     }); 

В autocompleteAction:

public function autocompleteAction() 
{ 
    // disable view and layout 
    $this->_helper->layout()->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(true); 

    $values = array(); 

    $usernames = UserQuery::create()->find(); 
    $usernames = $usernames->toArray(); 

    $organizations = OrganizationQuery::create()->find(); 
    $organizations = $organizations->toArray(); 

    foreach($organizations as $organization){ 
     array_push($values, $organization["Name"]); 
    } 
    foreach($usernames as $username){ 
     array_push($values, $username["Username"]); 
    } 

    echo $this->_helper->json($values); 
    exit; 
} 

Как вы можете видеть, что я загрузить имена пользователей и организаций из базы данных, так что вы можете добавить их обоих.

Теперь, когда я печатаю текстовое поле, я вижу подсказки от организаций и имен пользователей. Есть ли способ добавить заголовок и показать организации в разделе «Название организации» и имена пользователей в разделе «Имя пользователя».

Изображение для clarifcation:
enter image description here

ответ

0

Найдено решение. Пример можно найти здесь: http://twitter.github.io/typeahead.js/examples/

Проверьте пример «Команды НБА и НХЛ» на странице!

+1

Привет, Это хороший ответ. Но когда я использую этот пример, мой код отправляет два запроса. Это можно сделать, но отправить только один запрос? –