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中找到最匹配的项?

解决方案 »

  1.   

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

  2.   

    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;
    }
    }
    }
      

  3.   

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