可以't在使用自动完成时在javascript中设置变量

Can't set a variable in javascript while using autocomplete

本文关键字:完成时 javascript 变量 设置 可以      更新时间:2023-09-26

这是我当前的代码:

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()
    });
}