可输入的select改进版本,同一页面可有多个list,调用接口简化[1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 zf4000 的 blog

<html>
<head>
<title>untitled document</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<style>
.table1{background-color:white;font-family: courier new, courier;font-size:12px}
.td_out{font-family: courier new, courier;font-size:12px;color:#000000;height:15px;border:1 solid #ffffff;}
.td_over{font-family: courier new, courier;font-size:12px;cursor:default;background-color:#3366cc;border:1 solid #000000;color:#ffffff;height:15px}
.slv{vertical-align:bottom;font-family: courier new, courier;font-size:12px;border-left-width:0;border-top-width:0;border-bottom-width:0;border-right:0 solid #000000;vertical-align:middle;height:18px;color:#000000;}
.down{position:relative;left:-2px;font-size:11px;vertical-align:middle;width:16;height:16;color:#2050b0;background-color:#d0dff7;border:1 solid #9fa3ce;writing-mode:tb-rl;font-weight:bold;
}
.seldiv{
position:absolute;z-index:1000;overflow-x:hidden;border-left:1 solid #000000;border-bottom:1 solid #000000;border-right:1 solid #000000;
scrollbar-face-color: #d0dff7;
scrollbar-highlight-color: #d0dff7;
scrollbar-shadow-color: #ffffff;
scrollbar-3dlight-color: #ffffff;
scrollbar-arrow-color: #ffffff;
scrollbar-track-color: #ffffff;
scrollbar-darkshadow-color: #d0dff7;}
</style>
<script language="javascript">
document.onclick=hiddendiv;
function getdivcount() {
 var arr=document.all; 
 re=0;
 for (i=0;i<arr.length;i++) {
  str=arr[i].id;  
  if (str.indexof("zfdiv_")==0) {   
   re++;  
  }
 } 
 return re;
}

function geti(objid) {//取得objid的最后一位数字
 for (i=0;i<objid.length;i++) {
  if (objid.charat(i)=="_") return objid.substr(i+1,objid.length-1);
 }
 return 0;
}

function select_edit(textobj){//鼠标经过高亮度 
 textobj.focus();textobj.select();
}

function checkvalue(id){   
 var sl=document.all["zftext_"+id]; 
 var sv=document.all["zfdiv_"+id];
 var da=document.all["zfdata_"+id];   
 sv.style.display=''
 
 for(i=0;i<da.rows.length;i++)da.rows[i].style.display=''
 
 for(i=0;i<da.rows.length;i++){
  if(da.rows[i].cells[0].innertext.indexof(sl.value)!=0)da.rows[i].style.display='none';
  getposition(id);
 } 
}

function getl(e){
 var l=e.offsetleft;
 while(e=e.offsetparent){
  l+=e.offsetleft;
 }
 return l
}
function gett(e){
 var t=e.offsettop;
 while(e=e.offsetparent){
  t+=e.offsettop;
 }
 return t
}

function getposition(id){ 
 var sv=document.all["zfdiv_"+id];
 var sl=document.all["zftext_"+id];
 var spn=document.all["zfspan_"+id];
 var da=document.getelementbyid("zfdata_"+id);
 sv.style.pixelwidth=spn.offsetwidth;
 da.style.pixelwidth=sv.offsetwidth;
 sv.style.pixelleft=getl(spn);
 sv.style.pixeltop=gett(spn)+sl.offsetheight+3;
 if(da.offsetheight>200){
  sv.style.pixelheight=200;
  sv.style.overflowy='scroll';
 }
 else {
  sv.style.pixelheight=da.offsetheight;
  sv.style.overflowy='hidden';
 }
}

function dropdown(id){ 
 var sv=document.all["zfdiv_"+id]
 var tb=document.all["zfdata_"+id]
 
 if(sv.style.display=='none'){  
  sv.style.display='';  
  for(i=0;i<tb.rows.length;i++)tb.rows[i].style.display=''
  getposition(id);  
 } else {  
  sv.style.display='none';
 }
}//下拉摸拟层

function hiddendiv(){
 var o=window.event.srcelement.id;
 var tb 
 var sv 
 if(o=="") {
  for (j=0;j<getdivcount();j++) {
   tb=document.getelementbyid('zfdata_'+j);
   sv=document.getelementbyid('zfdiv_'+j);   
   for(i=0;i<tb.rows.length;i++) tb.rows[i].style.display='';
   sv.style.display='none';   
  }
  
 }

}//隐藏模拟层


function setvalue(obj){
var i=geti(obj.parentelement.parentelement.parentelement.id);
//alert(obj.parentelement.parentelement.parentelement.id);

var sl=document.all["zftext_"+i];
var sv=document.all['zfdiv_'+i];
sl.value=obj.innertext;
sv.style.display='none';
//sldindex=obj.parentelement.rowindex;
}//给文本框赋值

function over(obj){
 obj.classname="td_over"

本文关键:javascript,select,可输入
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top