如果选项值不匹配,则会清除文本框自动完成功能 [英] Textbox autocomplete clears if not match in option value
本文介绍了如果选项值不匹配,则会清除文本框自动完成功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在这里具有自动完成功能.我需要的是,如果在文本框中写入的值在选项值上不匹配,请清除文本框.这就是我现在所得到的 http://jsfiddle.net/qv94t/
I have here an autocomplete function. What I need is if the value that writing in textbox is not match on option value clear the textbox. Here's what I got right now http://jsfiddle.net/qv94t/
选项中甚至不允许该值的文本框.
The textbox not allowing even the value is in the options.
这是我的代码
<form id="register_form" name="register_form">
<input list="language" id="none">
<datalist id="language" name="options">
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
<option value="Arizona">Arizona</option>
<option value="kansas">kansas</option
<option value="California">California</option>
</datalist>
</form>
<script>
var validOptions = $("form#register_form input[name='options']").val();
previousValue = "";
$('#none').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;
}
});
</script>
感谢进阶!
推荐答案
我认为这是您要寻找的:
I think this is what you are looking for:
http://jsfiddle.net/juvian/qv94t/3/
您的有效选项未定义,因此无法正常工作.
Your validOptions was undefined, so was not working properly.
var validOptions =[];
$("#language option").each(function(){
validOptions.push($(this).val())
});
希望有帮助!
这篇关于如果选项值不匹配,则会清除文本框自动完成功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文