/ / jQuery ajax проблем - не мога да си намеря функцията - jquery, ajax

jQuery ajax проблем - не мога да си намеря функцията - jquery, ajax

Опитвам се да персонализирам плъгина за автоматично довършване за jquery. Това трябва да е изключително просто.

Трябва да изтегли списъка с именаautocomplete.php и след това изпратете на "searchup". Той работи, когато го пиша ръчно, но когато се опитвам да получа имената с функцията getnames (), не работи. Аз върнах данните правилно? Файловият файл също работи.

var options, a;

function getnames() {
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
return data;
}
});
}

// Doesn"t work:

// DOC READY
$("#members").one("click", function () {
options = {
lookup:getnames()
};
a = $("#members").autocomplete(options);
});

// Works:

// DOC READY
$("#members").one("click", function () {
options = {
lookup:["name1","name2"]
};
a = $("#members").autocomplete(options);
});

autocomplete.php

<?
header("Content-Type: application/json", true);
$info = array("name1","name2");
echo json_encode($info);
?>

Отговори:

1 за отговор № 1

Получавате първите имена и изчакайте отговор ajax. Когато пристигне, трябва да стартирате автоматичното довършване.

Например (Неизпитани):

function getnames() {
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
options = {
lookup:data
};
a = $("#members").autocomplete(options);
}
});
}

$("#members").one("click", function () {
getnames();
}

-1 за отговор № 2

Опитайте тази:

 function getnames() {
var myData;
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
myData = data;
}
});
return myData;
}