Автозаполнение пользовательского интерфейса jQuery не работает с jQuery 1.6 и пользовательским интерфейсом jQuery 1.8.12. Зачем? [Отредактировано], теперь работает частично - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь использовать автозаполнение jquery ui, но оно не работает.Я просто вставил старый код, который у меня есть, который работает в других приложениях, использующих jquery 1.4.4 и jquery ui 1.8.6.Сейчас я пытаюсь использовать с jquery 1.6 и jquery ui 1.8.12.Выбор даты работает, но автозаполнение просто мигает и ничего не показывает.Вот коды:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>autocomplete</title>
        <link rel="stylesheet" href="css/jquery.ui.all.css" type="text/css" media="screen" />
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#m').autocomplete({
                    source: "search.php",
                    minLength: 2
                });

                $('#dt').datepicker({
                    dateFormat: 'dd/mm/yy',
                    showWeek: true,
                    firstDay: 1,
                    changeMonth: true,
                    changeYear: true
                });

            });//jQuery End
        </script>
    </head>
    <body>
        <div class="ui-widget">
            <label for="m">uf: </label>
            <form>
                <input type="text" id="m" name="m" />
                <input type="text" id="dt" class="dt" />
            </form>
        </div>
    </body
</html>

<?php

include_once 'inc/mysqli.php';
//$term = strtolower($_REQUEST['term']); //this was not needed
$term = $_REQUEST['m'];
$query = "SELECT * FROM cidades WHERE nome LIKE '%$term%'";
$result = $mysqli->query($query);
$arr = array();
while($obj = $result->fetch_assoc()) {
      $arr[] = $obj['nome'];
}

//echo '('.json_encode($arr).')'; //for jsonp
echo json_encode($arr);

?>

У меня нет терпения с этим кодом, и, вероятно, из-за него я не вижу ошибки.

[Отредактировано] Если я сделаю простое утверждение SELECT, автозаполнение будет работать, но не так, как я хочу.Он показывает все результаты, и я хочу, чтобы он показывал отфильтрованные результаты по переменной $ term , которая не работает.Он станет очень медленным, когда начнет искать в реальной таблице более 9000 записей.

1 Ответ

0 голосов
/ 06 мая 2011

Находится ли search.php в той же папке, что и эта страница?

Вы проверили вкладку сети firebug, чтобы убедиться, что search.php вызывается правильно и возвращает ли правильные результаты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...