我正在使用.keyup来过滤自动完成。使用.keyup函数来过滤自动完成
但它只允许我输入第一个数字。所以如果我的数据是“苹果”
当我键入A - 它显示苹果,但我不能键入“AP”随着“P”消失。
我期待着我能写出整个单词而不是第一个字母。
代码:
<input id="ac" /> <span></span>
var validOptions = "@Url.Action("SerialProdNumStockSiteAutoComplete", "Ajax")?stocksitenum=LW&model=" + $("#Form_Prod_Num").val();
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;
}
});
这是工作时,我用假数据,但是当我把它改为url.action它只是工作的第一个字母,而不是整个单词。
我确实有一个小提琴works - 但是当我添加我的“URL.action”它只接受第一个字母。 (大约有5000的值)
你可能会提供一个小提琴或一些? – Alex
我有一个工作http://jsfiddle.net/pxfunc/j3AN7/小提琴 - 但是,当我添加我的“URL.action”它只接受第一个字母... –
尝试在您的validOptions变量中使用单引号你用双引号括起来:'var validOptions =“@ Url.Action('SerialProdNumStockSiteAutoComplete','Ajax')?stocksitenum = LW&model =”+ $(“#Form_Prod_Num”).val();' – NightOwlPrgmr