автозаполнение jquery с json не работает

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

Мой jquery выглядит следующим образом.

<script type="text/javascript">
$(document).ready(function(){
    $("input#game_two_other").autocomplete({
        source: "mlb_other_teams.php",
        minLength: 3
    });
});
</script>

Мой код php выглядит следующим образом.

$mister =   mysql_query("SELECT * FROM al_other WHERE user_id = '".$_SESSION['id']."'") or die(mysql_error());

while ($other = mysql_fetch_assoc($mister)) 
{

    $team_one   =   $other['team_one'];
    $team_two   =   $other['team_two'];

}

$json = array($team_one, $team_two);

echo json_encode($json);

Есть идеи или мысли?

Спасибо,

Копье


person Lance    schedule 16.04.2011    source источник
comment
ты пробовал отлаживать $json попробовать echo $json и посмотреть в firebug   -  person diEcho    schedule 16.04.2011
comment
Не могли бы вы также опубликовать вывод вашего PHP-скрипта?   -  person nfechner    schedule 16.04.2011
comment
Также: вам следует вернуться к своим старым вопросам и выбрать для них ответ, щелкнув галочку рядом с ответом, который помог больше всего. Иначе люди больше не смогут вам помочь.   -  person nfechner    schedule 16.04.2011
comment
Это повторяется следующим образом: [Texas Rangers, Tampa Bay Rays]   -  person Lance    schedule 16.04.2011
comment
Ладно, я не знала, что это такая большая проблема ... но я сделаю это с этого момента.   -  person Lance    schedule 16.04.2011
comment
Как именно вы заметили, что это не работает? Нет результатов? Вы пробовали Firebug посмотреть возвращаемое значение из запроса AJAX?   -  person nfechner    schedule 16.04.2011
comment
результатов нет ... хотя я не пробовал firebug ..   -  person Lance    schedule 16.04.2011


Ответы (1)


Когда вы создаете json для автозаполнения jquery, он должен содержать свойства label и / или value:

$mister =   mysql_query("SELECT * FROM al_other WHERE user_id = '".$_SESSION['id']."'") or die(mysql_error());

$json = array()

while ($other = mysql_fetch_assoc($mister)) 
{

   $json[] = array('label'=>$other['team_one']);
   $json[] = array('label'=>$other['team_two']);

}

echo json_encode($json);

Аналогичный вопрос: Проблемы с автозаполнением jQuery UI

person Dalen    schedule 16.04.2011
comment
Похоже, вам также следует добавить 'value' = ›..., но, надеюсь, @Lance это понял. - person Milimetric; 16.04.2011
comment
на самом деле не требуется указывать и метку, и значение, в документации указано, что если одно отсутствует, другое будет использоваться для обеих целей. - person Dalen; 16.04.2011