Возврат результатов для автозаполнения jQueryUI из базы данных mySQL - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь создать поле автозаполнения с удаленным источником, извлекающим данные из базы данных SQL:

$("#venuename").autocomplete({
        source: function(req, add){  
                $.getJSON("../autocomplete/venues.php?callback=?", req, function(data) {                        
                        var suggestions = [];
                        $.each(data, function(i, val){
                        suggestions.push(val.name);
                });
                add(suggestions);
        });
}
});

venues.php:

require '../../includes/connect.php';

$param = $_GET["term"];


$query = mysql_query("SELECT * FROM venue_details WHERE venueName REGEXP '^$param'");


for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {  
    $row = mysql_fetch_assoc($query);  

    $venues[$x] = array("venueName" => $row["venueName"]);  
}


$response = $_GET["callback"] . "(" . json_encode($venues) . ")";  
echo $response; 

Я занимался вешалкойя часами размышлял над тем, почему это не работает, и просматривал многочисленные онлайн-ресурсы для ответов, но не нашел ничего, что могло бы решить мои проблемы.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 19 марта 2012

Для автозаполнения jquery требуется поле label и / или value:

Свойство метки отображается в меню подсказок.Значение будет вставлено в элемент ввода после того, как пользователь выберет что-то из меню.Если указано только одно свойство, оно будет использоваться для обоих, например.если вы предоставляете только значения-свойства, значение также будет использоваться в качестве метки. jquery ui docs

Есть несколько способов решить эту проблему, но если вы используете jsonp, вы можете попробовать пример jquery ui

Вы можете попробовать изменить это:

$venues[$x] = array("venueName" => $row["venueName"]); 

на это:

$venues[$x] = array("label" => $row["venueName"]); 

Он будет использовать значение label как для раскрывающегося списка, так и для атрибута valueвыпадающий список.

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