我有一个简单的自动完成测试,可以使用硬编码数据here
但是,当我添加自己的数据(包含超过1000个数据)时,它不起作用,只显示第一个字母,所以如果我的数据是“Apple”
当我键入A时 - 它显示Apple但我不能输入“AP”,因为“P”消失。
我期待着我可以写出整个单词而不是第一个字母。
这是工作代码:
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;
}
});
我将validOptions更改为:
var validOptions ='@Url.Action("SerialProdNumStockSiteAutoComplete", "Ajax")?stocksitenum=LW&model=' + $("#Form_Prod_Num").val();
它无法正常工作。
还有另一种方法可以做到这一点,或者你不会在哪里出错。
感谢