我在组合框中填充列表,如
这是我在文本框中调用 onkeyup 的功能:
function findword(id, comptext){
if(comptext.value != ''){
for (i=0;i<id.options.length;i++){
id.options[i].selected = false;
}
var sc=comptext.value;
var r, re;
re = /\(/i;
r = sc.replace(re, "\\(");
sc=r;
re = /\)/i;
r = sc.replace(re, "\\)");
sc=r;
re = /\./i;
r = sc.replace(re, "\\.");
sc=r;
re = /\+/i;
r = sc.replace(re, "\\+");
sc=r;
re = /\?/i;
r = sc.replace(re, "\\?");
sc=r;
var cmplength=sc.length;
var rex=RegExp(sc, "gi");
for (i=0;i<id.options.length;i++){
var sts=id.options[i].text.substring(0,cmplength);
var result=sts.search(rex);
if(result>-1){
id.options[i].selected = true;
}
}
}else{
for (i=0;i<id.options.length;i++){
id.options[i].selected = false;
}
}
}
使用此功能我可以在文本框中选择以指定输入开头的所有值,如果我输入 api ,则选择以开头的所有值api ,但如果我输入颜色,它什么都不做。
现在请查看以上功能&amp;指出我需要添加的更多支票&amp;我应该在哪里添加这些支票?
答案 0 :(得分:0)
好的,我只是修好了自己
function findword(id, comptext){
if(comptext.value != ''){
var srcit = comptext.value;
for (i=0;i<id.options.length;i++){
id.options[i].selected = false;
}
var patt = new RegExp(srcit, 'i');
for (i=0;i<id.options.length;i++){
var result = patt.exec(id.options[i].text);
if(result != null){
id.options[i].selected = true;
}
}
}else{
for (i=0;i<id.options.length;i++){
id.options[i].selected = false;
}
}
}