日期:2014-05-16 浏览次数:20458 次
<script src="jquery-1.4.2.js" type="text/javascript"></script> <style> .prompt{border:1px solid #d6dce0; background:#fff; position:absolute; z-index:999} .prompt p{line-height:25px; height:25px; overflow:hidden; padding:0 10px} .prompt .hover{background:#ebebeb; cursor:default} </style> <script type="text/javascript"> String.prototype.startWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) return false; if(this.substr(0,str.length)==str) return true; else return false; return true; } function Product(name,pinYin,firstPinYin,product){ if(name==null){ name=""; } if(firstPinYin==null){ firstPinYin=""; } if(product==null){ product=""; } this.name=name; this.pinYin=pinYin.toLowerCase(); this.firstPinYin=firstPinYin.toLowerCase(); this.product=product.toLowerCase(); } var arrayObj = new Array(); arrayObj.push(new Product('abc','abc','abc','abc')); arrayObj.push(new Product('abd','abd','abd','abd')); arrayObj.push(new Product('acd','acd','acd','acd')); arrayObj.push(new Product('bfd','bfd','bfd','bfd')); arrayObj.push(new Product('ebd','ebd','ebd','ebd')); var oldlength=0; var oldvalue=""; var index=0; var tip='汉字∣拼音∣首字母'; function searchProduct(){ //校验一下 var product=$("#product").val(); if(product!=null){ product=trim(product); product=product.toLowerCase(); if(product!=""){ var length=product.length; if(length!=oldlength||product!=oldvalue){ oldlength=length; oldvalue=product; doSearch(product); } return; } } hiddenDiv(); } function trim(str){ return str.replace(/^\s+/g,"").replace(/\s+$/g,""); } function gotoProductPage(product){ alert(product); } //搜索是否存在 function doSearch(product){ var isFound=false; var resultArr = new Array(); for(var j=0,k=arrayObj.length;j<k;j++){ var obj=arrayObj[j]; if(obj.name.indexOf(product)>-1||obj.pinYin.indexOf(product)>-1||obj.firstPinYin.indexOf(product)>-1){ isFound=true; resultArr.push(obj); } } if(isFound){ var tableStr="<table id='resultTable' width='100%'>"; sortArr(resultArr,product); if(resultArr.length>=10){ var arr = new Array(); for(var i=0;i<10;i++){ arr.push(resultArr[i]); } resultArr=arr; } for(var i=0,l=resultArr.length;i<l;i++){ var obj=resultArr[i]; tableStr+="<tr index='"+(i+1)+"' product='"+obj.product+"' onmouseover=\"mouseOver(this)\" onmouseout=\"mouseOut(this)\" ><td><p class='searchP'>"+obj.name+"</p></td></tr>"; } showDiv(tableStr+"</table>"); }else{ index=0; $("#resultDiv").css("display","none"); } } //产品排序 function sortArr(arr,prefix){ for(var i=0,l=arr.length;i<l;i++){ for(var j=i+1;j<l;j++){ if(compareProduct(arr[i],arr[j],prefix)>=1){ var s=arr[i]; arr[i]=arr[j]; arr[j]=s; } } } } function compareProduct(a,b,prefix){ if(compare(a,prefix)){ if(compare(b,prefix)){ return a.pinYin.localeCompare(b.pinYin); } return -1; } if(compare(b,prefix)){ return 1; } return a.pinYin.localeCompare(b.pinYin); } function compare(a,prefix){ if(a.firstPinYin.startWith(prefix)||a.pinYin.startWith(prefix)||a.name.startWith(prefix)){ return true; } return false; } function showDiv(str){ $("#resultDiv").html(str); $("#resultDiv").css("display","block"); } function hiddenDiv(){ index=0; oldlength=0; oldvalue=""; $("#resultDiv").css("display","none"); } //搜索是否只有一个结果 function searchOne(){ var product=$("#product").val(); if(product==null||trim(product)==""||product==tip){ return; } var result=""; var i=0; for(var j=0,k=arrayObj.length;j<k;j++){ var obj=arrayObj[j]; if(obj.name.indexOf(product)>-1||obj.pinYin.indexOf(product)>-1||obj.firstPinYin.indexOf(product)>-1){ i++; if(i>1){ break } result=obj.product; } } if(i==1){ gotoProductPage(result); }else{ showDiv("<div class='msg'