日期:2014-05-18  浏览次数:20840 次

在一个select中,找出一项跟指定字符串相同的。并将选中它。
function   TextExitFocus(ListObj,TextObj){
var   i;
var   SearchFlag=0;
var   StrTemp= " ";
var   StrTemp2= " ";
for(i=0;i <ListObj.length;i=i+1){
StrTemp=ListObj.item(i);
StrTemp2=TextObj.value;
alert(StrTemp);
SearchFlag=StrTemp.indexOf(StrTemp2);
}
}
调用: <input   id= "Text1 "   type= "text "     onchange= "TextExitFocus(ListBox1,Text1); "   />
程序运行后,报错,说对象不支持属性和方法。错误行指向
SearchFlag=StrTemp.indexOf(StrTemp2);
请问,我该怎么在select中找到最匹配的项?


------解决方案--------------------
if(StrTemp.indexOf(StrTemp2)==-1){
alert( "在StrTemp没找到StrTemp2! ");
}
if(StrTemp.indexOf(StrTemp2)!=-1){
alert( "在StrTemp找到StrTemp2! ");
}

------解决方案--------------------
function TextExitFocus(ListObj,TextObj){
var i;
var SearchFlag=0;
var StrTemp= " ";
var StrTemp2=TextObj.value;
for(i=0;i <ListObj.length;i=i+1){
StrTemp=ListObj.item(i);
SearchFlag=StrTemp.indexOf(StrTemp2);
if(StrTemp==StrTemp2) {
StrTemp.selected = true;
}
}
}

------解决方案--------------------
你把TextExitFocus(ListBox1,Text1)改成TextExitFocus(ListBox1,this)试试
还有你的Text1里面没有value属性,所以TextObj.value= " ";
SearchFlag=StrTemp.indexOf(StrTemp2);报错