0
的結果我可以使用下面的代碼,以允許用戶只填寫表單時選擇的自動完成選項之一,完美的作品:如何「名」的Ajax調用
var validOptions = ["Bold", "Normal", "Default", "100", "200"]
previousValue = "";
$('#ac').autocomplete({
autoFocus: true,
source: validOptions
}).keyup(function() {
var isValid = false;
for (i in validOptions) {
if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) {
isValid = true;
}
}
if (!isValid) {
this.value = previousValue
} else {
previousValue = this.value;
}
});
然而,我使用ajax來創建陣列,如下所示,所以我沒有名稱陣列eg如上所述的validOptions。
問題如何使用上述「辦法」與下面的方法
$('#ac').autocomplete({
autoFocus: true,
source: "/pages/includes/getAgent.php",
select: function(event, ui) {
$('#autoc1').val(ui.item.agent_name);
$('#comm').val(ui.item.commission_percent);
return false;
}
}).keyup(function() {
var isValid = false;
// here is the issue, the new data is not called validOptions
for (i in validOptions) {
if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) {
isValid = true;
}
}
if (!isValid) {
this.value = previousValue
} else {
previousValue = this.value;
}
}).data("ui-autocomplete")._renderItem = function(ul, item) {
return $("<li>")
.append("<a>" + item.agent_name + "</a>")
.appendTo(ul)
};
其中* *存儲的數據呢?爲什麼不能使用'validOptions'來存儲數據? – JJJ
@Juhana數據存儲在一個Mysql表中,並使用自動完成功能 –