下拉带复选框之二

*************ff.js***********

var g_object;
var inover=false;

var values="";
function checkAll(e, itemName)
{
  var bb;
  var aa = document.getElementsByName(itemName); 
  for (var i=0; i<aa.length; i++)
  {
 aa[i].checked = e.checked; 
  }
  if (!e.checked)
  {
 g_object.value="";
  }
  else
  {
    g_object.value="All";
  }
}

function checkItem(e, allName)
{
  var all = document.getElementsByName(allName)[0];
  if(!e.checked)
  {all.checked = false;
   showItem("b1");
  }
  else
  {
 showItem("b1");
    var aa = document.getElementsByName(e.name);
    for (var i=0; i<aa.length; i++) 
  if(!aa[i].checked) return; 
  all.checked = true;
  g_object.value="All";
  
  }
 
}

function showItem(itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0;i<aa.length ;i++)
{
 if (aa[i].checked)
 {
  if (values=="")
  {
   values = aa[i].value;
  }
  else
  {
   values = values + "," + aa[i].value;
  }
 }
}
g_object.value=values;
values="";
}

function init()

     document.writeln("<div name=/"down_checkbox/" id=/"down_checkbox/"  style=/"display:none/" style=/"LEFT: 69px; POSITION: absolute; TOP: 159px;Z-INDEX:99/" onBlur=/"hilayer()/"  onMouseout=/"lostlayerfocus()/"></div>");
}

function set_down_checkbox(tempArr)
{
 var temp_str;
 var temp_Arr; 
 
  if (tempArr.indexOf(",")==-1)
 {
  temp_Arr=tempArr;
  alert(tempArr);
  }
  else
 {  
  temp_Arr=tempArr.split(",");  
 }
 window.down_checkbox.innerHTML="";
 temp_str="<table border=/"0/" bgcolor=/"#FFFFFF/" bordercolor=/"white/"><tr><td>";
 temp_str+="<tr><td align=/"left/"><input name=/"b1All/" id=/"b1All/" type=/"checkbox/" size=/"2/" language=/"javascript/" οnmοuseοver=/"overcolor(this);/" onMouseout=/"hilayer()/" onClick=/"checkAll(this,'b1');/">全选</td></tr>"
 for (var i=0;i<temp_Arr.length;i++)
 { 
 temp_str+="<tr><td align=/"left/"><input name=/"b1/" id=/"b1/" type=/"checkbox/" size=/"2/" language=/"javascript/" οnmοuseοver=/"overcolor(this);/" onMouseout=/"hilayer()/" onClick=/"checkItem(this,'b1All');/" value="+temp_Arr[i]+">"+temp_Arr[i]+"</td></tr>"
 }
 temp_str+="</table>";
 window.down_checkbox.innerHTML=temp_str;
}

function show_down_checkbox(eP,t_object,strArr)
{
window.down_checkbox.style.display="";
window.down_checkbox.style.zIndex=99
var s,cur_d
var eT = eP.offsetTop; 
var eH = eP.offsetHeight+eT; 
var dH = window.down_checkbox.style.pixelHeight; 
var sT = document.body.scrollTop;
var sL = document.body.scrollLeft;
event.cancelBubble=true;
window.down_checkbox.style.posLeft = event.clientX-event.offsetX+sL-5; 
window.down_checkbox.style.posTop = event.clientY-event.offsetY+eH+sT-5;
if (window.down_checkbox.style.posLeft+window.down_checkbox.clientWidth>document.body.clientWidth) window.down_checkbox.style.posLeft+=eP.offsetWidth-window.down_checkbox.clientWidth;
g_object=t_object;
set_down_checkbox(strArr);
window.down_checkbox.style.display="block";
window.down_checkbox.focus();
}


function overcolor(obj)
{
  if (obj.style.cursor=="hand") obj.style.color = "#DDDDDD";

  inover=true;
  window.down_checkbox.focus();

}

function outcolor(obj)
{
 obj.style.color = "#000000";
 inover=false;

}

function hilayer()
{
 if (inover==false)
 {
  var lay=document.all.down_checkbox;
  lay.style.display="none";
 }
}
function getlayerfocus()
{
 inover=true;
}
function lostlayerfocus()
{
 inover=false; 
}
init(); 

*********************asp/html文件*********************

<HTML><HEAD><TITLE></TITLE>
<script language="JavaScript1.2" type="text/javascript" src="ff.js"></script>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<BODY bgColor=#dedfde leftMargin=0 marginwidth="0" topmargin="0">
<TABLE width="80%"  align="center" cellPadding=0 cellSpacing=0>  
    <TR>  
<TD><input type="text" Name="ddd" onFocus="javascript:show_down_checkbox(ddd,ddd,'1,2,3,4')"></TD>
</TR>
</TABLE>
</BODY>

</HTML>


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值