Я пытаюсь использовать jQuery autocomplete plugin with remote data source, я думаю, что получаю результаты, которые хочу, но я не могу получить к ним доступ в JavaScript-коде.Как получить все результаты от автозаполнения jQuery?
<div class="ui-widget">
<label for="search_courses">Search:</label>
<input id="search_courses" />
</div>
<div class="ui-widget" style="margin-top:2em; font-family:Arial">Result:
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>
<script type="text/javascript" id="autoCompleteScript">
$(function() {
function log(message) {
$("<div>").text(message).prependTo("#log");
$("#log").scrollTop(0);
}
$("#search_courses").autocomplete({
source: "search_datasource",
minLength: 2, //search after two characters
select: function(event, ui) {
// This is never called, because there is nothing to select.
alert("test. code does not come here.");
log(ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value);
}
});
$("#search_courses").on("autocompletesearch", function(event, ui) {
console.log(ui); // see the picture for this output
});
});
</script>
Для целей тестирования, мой search.php (CodeIgniter) заключается в следующем:
$this->load->database();
$this->load->database();
$result = $this->db->query("SELECT id as label, title as value FROM mytable")->result_array();
$response = "";
$response_array=array();
foreach($result as $row)
{
$response_array[] = json_encode($row);
}
$response = implode("," , $response_array);
$response = "[". $response ."]";
echo $response; // it echoes something in this form :
//[{"id":"Phoenicopterus roseus","label":"Greater Flamingo","value":"Greater Flamingo"},{"id":"Tarsiger cyanurus","label":"Red-flanked Bluetail","value":"Red-flanked Bluetail"}]
// but it contains 60 mysql rows.
Теперь смотрите, что происходит, когда я делаю поиск:
Так как я могу получить массив всех j сырые объекты, которые печатаются PHP?
Я имею в виду, как я могу получить доступ к массиву в JS?
Спасибо за помощь!
Спасибо, но это дает ошибку: 'SyntaxError: JSON.parse: неожиданный character' Я думаю, что пользовательский интерфейс уже есть объект. Это не ответ search.php. – jeff