2013-03-04 2 views
0

У меня есть PHP-файл, который генерирует следующие данные JSonКак отображать данные json в текстовом поле jquery auto complete?

["Health Infoway","Canada Health Infoway","Infowiki","Info",......"Canada"] 

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

ниже мой JQuery sript, который называют getorgname.php, чтобы получить Вышеприведенные данные

$("input[name=profileOrg]").keyup(function(){ 

    $("input[name=profileOrg]").autocomplete({ 
     source: function(request, response) { 
      $.getJSON('CHI_custom/customScripts/getorgname.php','user=' + $('#hiddenUser').val(), function(data){ 
       response($.map(data, function(item) { 
      return item; 
     })); 



      } 
     } 
    }); }); 

Ниже мой getorgname.php файл, который генерирует данные JSon

$User = DekiUser::getCurrent(); 
if($User->isAnonymous() || $User->getUserName() != $_REQUEST['user']) 
{ 
     scriptError("Inappropriate access"); 
}else{ 
    $ds = my_ldap_connect(CHI_LDAP_LOCATION, CHI_LDAP_PORT, CHI_LDAP_USE_TLS); 
    $groups = get_all_groups($ds, CHI_LDAP_BASE_DN, CHI_LDAP_BIND_DIRECTORY, CHI_LDAP_BIND_PASSWORD); 
    $sr = @ldap_search($ds, "ou=people,".CHI_LDAP_BASE_DN, "(uid=*)"); 
    $nt = ldap_get_entries($ds, $sr); 

    foreach($nt as $each) 
    { 
     if(is_array($each)) 
     { 
      $json[] = $each['o'][0]; 

     } 
    } 

} 

echo json_encode($json); 

Я использую следующий файл Jquery для автоматического заполнения текстового поля

<script type="text/javascript" src="CHI_custom/customScripts/jquery.formwizard-3.0.5/js/jquery.min.js"></script> 
<script type="text/javascript" src="CHI_custom/customScripts/jquery.formwizard-3.0.5/js/jquery-ui.min.js"></script> 

Как я могу отобразить эти json-данные в своем токоррекция полный текст коробка

+0

Вы считали http://twitter.github.com/typeahead.js/? Его новый плагин jquery из twitter. – amof

+0

не выполняет функцию автозаполнения и управляет клавиатурой. Я думаю, что вам может не понадобиться первое событие с ключом. –

ответ

0

Изменение кода что-то, как показано ниже:

$.getJSON('CHI_custom/customScripts/getorgname.php','user=' + $('#hiddenUser').val(), function(data){ 
    $("input[name=profileOrg]").autocomplete({ 
     source: data 
    }); 
}); 

и нет никакой необходимости, чтобы обернуть этот код в KeyUp случае. Поэтому удалите это.

Это исправит вашу проблему.

+0

Я пробовал эту логику, но замечаю, что это происходит – Sagar

+0

Вот мое решение, но оно еще не закончено. Эти решения дают мне весь список имени, но я хочу, когда пользователь вводит что-то, что сортирует список в соответствии с этим. Сейчас он просто отображает длинный список без сортировки. $ ("вход [имя = profileOrg]") .autocomplete ({ \t \t \t \t \t \t источник: функция (запрос, ответ) { \t \t \t \t \t \t \t $ .getJSON ('CHI_custom/customScripts/getorgname.php», 'пользователь =' + $ ('# hiddenUser'). вал(), функция (данные) { \t \t \t \t \t \t \t \t ответ ($.карта (данные, функция (пункт) { \t \t \t \t \t \t \t \t \t возвращенный деталь \t \t \t \t \t \t \t \t})) \t \t \t \t \t \t \t \t \t \t \t \t \t \t}); \t \t \t \t \t \t} \t \t \t \t}); – Sagar

Смежные вопросы