这是我当前的代码:
var areaid;
$( "#FindCentre" ).autocomplete({
//Doesn't give the right value here.
source: "databasescripts/findcentre.php?AreaID=" + areaid,
minLength: 2,
select: function( event, ui ) {
},
html: true,
});
$( "#FindArea" ).autocomplete({
source: "databasescripts/findarea.php",
minLength: 2,
select: function( event, ui ) {
areaid = ui.item.id;
alert(areaid);
//Alerts the correct value here.
},
html: true,
});
当用户键入FindArea时,它会警告正确的值,但是当他们随后键入FindCentre时,它将始终返回未定义状态。我已经尝试从FindCentre的FindArea中读取ID,但是我似乎也不能这样做。
有没有人有什么建议?
最佳答案
当您进行第一个自动完成呼叫时,它会使用静态值(即areaid = undefined)设定自动完成。如果要对动态值使用自动完成功能,则需要执行以下操作:
source: function(request, response) {
$.ajax({
url: "databasescripts/findcentre.php?AreaID=" + areaid //or + $("#FindArea").val()
});
}
关于javascript - 使用自动完成功能时无法在javascript中设置变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26506482/