asp.Netページ版テキストボックスインテリジェントヒントJSCode(アップグレード版)
9277 ワード
前編で直接修正するつもりだったが、編集機能が悪かったので、htmlコードをたくさん開けて、スペース「」を見ている人は目がくらくらして、別の編を開くしかなかった.
アップグレードの説明:テキストボックスonfocus=「fnStartInterval(this,'DropDownList 2')」を変更するだけで、1つのインタフェースの複数の機能プロンプト位置の設定が追加されました.
対応するパラメータを設定すると、IE 6でdivがドロップダウンリストを隠すことができないという問題を修正します(IE 6でselectのz-indexまたはdivのz-index属性をどうしても設定しても始まらない)、これについてはiframeを利用してdivが表示する位置にカバーし、divをiframeの上に置けばいいです.下にselect要素があっても大丈夫です.次は最新codeです.
アップグレードの説明:テキストボックスonfocus=「fnStartInterval(this,'DropDownList 2')」を変更するだけで、1つのインタフェースの複数の機能プロンプト位置の設定が追加されました.
対応するパラメータを設定すると、IE 6でdivがドロップダウンリストを隠すことができないという問題を修正します(IE 6でselectのz-indexまたはdivのz-index属性をどうしても設定しても始まらない)、これについてはiframeを利用してdivが表示する位置にカバーし、divをiframeの上に置けばいいです.下にselect要素があっても大丈夫です.次は最新codeです.
<!--
<br>var currentIndex=-1;//
<br>var sumSearchCount=0;//
<br>var tempValue="";//
<br>var objTxt=null;//
<br>var top=0;// top
<br>var left=0;// left
<br>var width=0;// width
<br>var values = null;//
<br>var texts = null;//
<br>var tempDiv= null;// values
<br>var ddlName="";// ID
<br>var getDDLName = "";// ID
<br>var fontSize=12;//
<br>var paddingBottom = 2;//
<br>var backGroundColor = "#3366CC";//
<br>// ID
<br>function GetDDLID()
<br>{
<br>var ddls = document.getElementsByTagName("select");
<br>for(var i=0;i<ddls.length;i++)
<br>{
<br>if(ddls[i].id.indexOf(getDDLName)!=-1)
<br>{
<br>ddlName=ddls[i].id;
<br>break;
<br>}
<br>}
<br>}
<br>
<br>//
<br>function getSelectValues(){
<br>GetDDLID();
<br>values = new Array();
<br>texts = new Array();
<br>tempDiv=new Array();
<br>ddlvalue = document.getElementById(ddlName);
<br>for(var i=0;i<ddlvalue.length;i++){
<br>values[i]=ddlvalue.options[i].value;
<br>texts[i]=ddlvalue.options[i].text;
<br>}
<br>}
<br>
<br>var oInterval = "";//
<br>function fnStartInterval(txt_id,ddlOldName){
<br>getDDLName=ddlOldName;
<br>getSelectValues();
<br>objTxt=txt_id;//
<br>top = getLength("offsetTop",txt_id.id)+objTxt.offsetHeight;
<br>left= getLength("offsetLeft",txt_id.id);
<br>width=objTxt.offsetWidth-2;
<br>oInterval = window.setInterval("beginSearch()",2000);//
<br>}
<br>
<br>//
<br>function getLength(attribute,id)
<br>{
<br>var offset = 0;
<br>var item = document.getElementById(id);
<br>while (item)
<br>{
<br>offset += item[attribute];
<br>item = item.offsetParent;
<br>}
<br>return offset;
<br>}
<br>
<br>//
<br>function fnStopInterval()
<br>{
<br>window.clearInterval(oInterval);
<br>}
<br>
<br>//
<br>function beginSearch(){
<br>if(objTxt.value.length>0 && tempValue!=objTxt.value)
<br>{
<br>sumSearchCount=0;
<br>tempValue=objTxt.value;
<br>var iframe_show = document.getElementById("coverddl");
<br>var div_value = document.getElementById("divMsg");
<br>iframe_show.style.display="block";
<br>div_value.style.top=top+"px";
<br>div_value.style.display="block";
<br>div_value.style.left=left+"px";
<br>div_value.style.width=width+"px";
<br>div_value.innerHTML="";
<br>var leng = texts.length;
<br>var txt_value = objTxt.value;
<br>var row="";
<br>for(var i=0;i<leng;i++){
<br>if(texts[i].indexOf(txt_value)!=-1){
<br>row = row + "<div style='font-size:"+fontSize+"px; display:block; padding-top:2px; padding-bottom:"+paddingBottom+"px; width:100%' id='divsearch_"+i+"' onmouseover=\"this.style.backgroundColor='"+backGroundColor+"';currentIndex="+i+";\" onmouseout=\"this.style.backgroundColor='';currentIndex=-1;\" onclick=\"span_click(this)\" >"+texts[i]+"</div>";
<br>tempDiv[sumSearchCount]=i;
<br>sumSearchCount++;
<br>}
<br>}
<br>div_value.innerHTML=row;
<br>}
<br>else if(objTxt.value.length==0 || objTxt.value == null)
<br>{
<br>document.getElementById("coverddl").style.display="none";
<br>document.getElementById("divMsg").innerHTML="";
<br>}
<br>}
<br>
<br>//
<br>function span_click(sp)
<br>{
<br>clear();
<br>objTxt.value=sp.innerHTML;
<br>document.getElementById(ddlName).options[sp.id.substring(sp.id.indexOf('_')+1,sp.id.length)].selected="selected";
<br>document.getElementById(ddlName).fireEvent("onchange");
<br>}
<br>
<br>// ,
<br>function closeSearch()
<br>{
<br>var tbl = document.activeElement.parentElement;
<br>if(tbl && tbl.id!="divMsg")//
<br>{
<br>clear();
<br>document.getElementById("divMsg").innerHTML="";
<br>}
<br>else if(currentIndex==-1)
<br>{
<br>clear();
<br>document.getElementById("divMsg").innerHTML="";
<br>}
<br>}
<br>
<br>//
<br>function clear()
<br>{
<br>fnStopInterval();
<br>values=null;
<br>texts=null;
<br>tempDiv=null;
<br>currentIndex=-1;
<br>tempValue="";
<br>document.getElementById("coverddl").style.display="none";
<br>document.getElementById("divMsg").style.display="none";
<br>}
<br>
<br>// enter
<br>function changeSelect()
<br>{
<br>var iframeContent = document.getElementById("coverddl");
<br>if(iframeContent && iframeContent.style.display=="block")
<br>{
<br>if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13)
<br>{
<br>
<br>if(currentIndex!=-1) document.getElementById("divsearch_"+tempDiv[currentIndex]).style.backgroundColor="";
<br>if (event.keyCode == 38 && currentIndex > 0)
<br>{
<br>currentIndex--;
<br>document.getElementById("divsearch_"+tempDiv[currentIndex]).style.backgroundColor="#3366CC";
<br>}
<br>else if (event.keyCode == 40 && currentIndex < sumSearchCount-1)
<br>{
<br>currentIndex++;
<br>document.getElementById("divsearch_"+tempDiv[currentIndex]).style.backgroundColor="#3366CC";
<br>}
<br>else if (event.keyCode == 13)
<br>{
<br>if(currentIndex > -1)
<br>{
<br>var divpart = document.getElementById("divsearch_"+tempDiv[currentIndex]);
<br>objTxt.value=divpart.innerHTML;
<br>document.getElementById(ddlName).options[tempDiv[currentIndex]].selected="selected";
<br>clear();
<br>//document.getElementById(ddlName).fireEvent("onchange");
<br>//document.form1.onsubmit=function (){return false;};
<br>}
<br>}
<br>}
<br>}
<br>}
<br>
<br>
<br>// -->