1
我试图通过项目数组来循环,看看是否有任何匹配,然后显示它们。那么,如果我输入任何他们都显示的角色。从输入和获取所有匹配的循环数组
(sensitive == false ? RegExp('^'+this.value,'i').test(source[i]) : RegExp('^'+this.value).test(source[i]))
这是我的情况下,虽然如果this.value
= a
阵列(source[i]
)在每一个项目显示出来。有没有办法让这个更严格?
例
如果阵列(使用jquery自动完成例如阵列)
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
element.addEventListener('keypress', function (e) {
var dd = document.getElementById('fake_dropdown');
for (i = 0; i < availableTags.length; i++) {
var li;
if ((sensitive == false ? RegExp('^' + this.value, 'i').test(availableTags[i]) : RegExp('^' + this.value).test(availableTags[i]))) {
li = document.getElementById('auto_id_' + (i + 1));
li.style.display = "block";
} else {
li = document.getElementById('auto_id_' + (i + 1));
li.style.display = "none";
}
var liLoop = dd.getElementsByTagName('li');
for (var j = 0; j < liLoop.length; j++) {
if (liLoop[j].style.display == "block") break;
else dd.style.display = "none";
}
}
}, false);
修订多个码
所有这些显示。为什么是这样?另外为什么BACKSPACE
不被认为是一个按键,因为如果我点击退格,它不会重新评估条件。
您可以共享的结果是如何获得 –
呀抱上我会添加更多更多的代码。这只是非常非常冗长的 – EasyBB
和html也 - 如果可能的话在http://jsfiddle.net/arunpjohny/ZUY2n/1/ –