input onkeyup 弹出 div+table 的数据列表后,整个页面变得很慢,不知道怎么回事??
(php+mysql+js) ajax取数据库中的数据在,div中的table 显示,可以支持上下键操作,及 tr中onmouseover onmouseout主要代码:
a.html
<?php
require_once("../globaltop.php");
//require_once("../class/sql.php");
//$mysql= new DB_sql();
require_once("../var.php");
require_once("ajaxcomm.php");
?>
<html>
<head>
<script type=text/javascript>
function query_List(inputobj,tid,borc)
{
//alert("fdflsd")
if (event.keyCode!=37 && event.keyCode!=38 && event.keyCode!=39 && event.keyCode!=40 && event.keyCode!=13 && event.keyCode!=9) //上下
{
//alert("in")
qobj=document.all(inputobj).name;
mtype=borc;
ss=document.all(inputobj).value;
inputid=tid;
if(tt)
{
clearTimeout(tt);
}
if(ss!="")
{
isdropdown='n';
tt = setTimeout("querydata()",1500);
}
else
{
Divhidden();
}
}
///keyup 响应事件
if(isdropdown=='y' && tindex==0)
setDivOptionFocus(); //按同下键响应,使optd 层获取焦点
}
function querydata()
{
xajax_queryList(qobj,inputid,ss,mtype);
}
</script>
</head>
<body>
<div id="inputdiv" Onkeydown="SimulateEnterKey();setQickKey()"> <!-- inputdiv Enter 模拟 Tab 键功能区 -->
<table width="850" border="0" cellspacing="0" cellpadding="0" bgcolor="#f5faff" align="center">
<tr bgcolor="#f5faff">
<td width="30%">委托单位:<input name="unit" type="text" class="" id="0102" onblur="InuptDivhidden();checkIdNull('unit');" onkeyup="query_List('unit','unitid','c')">
<td>
</tr>
</table>
<!-- ****************弱出列表层 xajax用 **************************-->
<div id="optd" class="optionDiv" style="display:none" onkeyup="keySelect()"></div>
</body>
</html>
a.php<?phpfunction queryList($obj,$objid,$ss,$boc)
{
global $mysql;
$objResponse = new xajaxResponse();
$ss=ltrim($ss);
$ss=rtrim($ss);
$str="select businessid,itemno,name,dept from business where borc='$boc' and (name like '%$ss%' or itemno like '%$ss%') and name!='admin' order by businessid";
// $objResponse->assign("test",innerHTML,$ss);
$result=$mysql->query($str);
if(!$result)
{
$objResponse->alert("系统出错,请重试!!!");
return $objResponse;
}
$rec=$mysql->fetch_all_array($result);
$i=0;
// 表格头部不动
$htmlstr="<div id='tahead' class='optionDivhead'>";
$htmlstr.="<table id='ajaxthead' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
$htmlstr.="<tr bgcolor='#f8fdff'><td height='15' align='center' width='40px'>简称</td>";
$htmlstr.="<td align='center'>名称</td></tr></table></div>";
///optionDivbody
$htmlstr.="<div id='tabody' class='optionDivbody'>";
$htmlstr.="<table id='ajaxtbody' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
while(list($id,$itemno,$name,$detp)=$rec[$i])
{
$i++;
$htmlstr.="<tr bgcolor='#f7fcff' id=\"tr$i\" style='cursor:hand' onmouseover=\"ChangeColorOver(this);setTbIndex('$i');setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');\" onmouseout=\"ChangeColorOut(this)\" onclick=\"setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');Divhidden();\">";
$htmlstr.="<td height='15' name='td$itemno' width='40px'>$itemno</td>";
$htmlstr.="<td>$name<input type=hidden name='dtname$i' value='$name'><input type=hidden name='dtid$i' value='$id'></td></tr>";
}
$htmlstr.="</table></div>";
// $objResponse->alert($htmlstr);
//div层
$objResponse->script("setmaxlinenum('$i')");//设置行数
$objResponse->script("isdropdown='y'");
$objResponse->script("strinputstr='$obj'");//input 源名字
//$objResponse->script("inputid='$objid'");//input 源名字
// $objResponse->script("setInuptKeyupEvent()");//添加input onKeyup事件
//table
$objResponse->assign("optd",innerHTML,$htmlstr);//绘制表格
$objResponse->script("setDivPosition('$obj','$boc')");//设置表格的位置
return $objResponse;
}
$xajax->processRequest();?>
(php+mysql+js) ajax取数据库中的数据在,div中的table 显示,可以支持上下键操作,及 tr中onmouseover onmouseout主要代码:
a.html
<?php
require_once("../globaltop.php");
//require_once("../class/sql.php");
//$mysql= new DB_sql();
require_once("../var.php");
require_once("ajaxcomm.php");
?>
<html>
<head>
<script type=text/javascript>
function query_List(inputobj,tid,borc)
{
//alert("fdflsd")
if (event.keyCode!=37 && event.keyCode!=38 && event.keyCode!=39 && event.keyCode!=40 && event.keyCode!=13 && event.keyCode!=9) //上下
{
//alert("in")
qobj=document.all(inputobj).name;
mtype=borc;
ss=document.all(inputobj).value;
inputid=tid;
if(tt)
{
clearTimeout(tt);
}
if(ss!="")
{
isdropdown='n';
tt = setTimeout("querydata()",1500);
}
else
{
Divhidden();
}
}
///keyup 响应事件
if(isdropdown=='y' && tindex==0)
setDivOptionFocus(); //按同下键响应,使optd 层获取焦点
}
function querydata()
{
xajax_queryList(qobj,inputid,ss,mtype);
}
</script>
</head>
<body>
<div id="inputdiv" Onkeydown="SimulateEnterKey();setQickKey()"> <!-- inputdiv Enter 模拟 Tab 键功能区 -->
<table width="850" border="0" cellspacing="0" cellpadding="0" bgcolor="#f5faff" align="center">
<tr bgcolor="#f5faff">
<td width="30%">委托单位:<input name="unit" type="text" class="" id="0102" onblur="InuptDivhidden();checkIdNull('unit');" onkeyup="query_List('unit','unitid','c')">
<td>
</tr>
</table>
<!-- ****************弱出列表层 xajax用 **************************-->
<div id="optd" class="optionDiv" style="display:none" onkeyup="keySelect()"></div>
</body>
</html>
a.php<?phpfunction queryList($obj,$objid,$ss,$boc)
{
global $mysql;
$objResponse = new xajaxResponse();
$ss=ltrim($ss);
$ss=rtrim($ss);
$str="select businessid,itemno,name,dept from business where borc='$boc' and (name like '%$ss%' or itemno like '%$ss%') and name!='admin' order by businessid";
// $objResponse->assign("test",innerHTML,$ss);
$result=$mysql->query($str);
if(!$result)
{
$objResponse->alert("系统出错,请重试!!!");
return $objResponse;
}
$rec=$mysql->fetch_all_array($result);
$i=0;
// 表格头部不动
$htmlstr="<div id='tahead' class='optionDivhead'>";
$htmlstr.="<table id='ajaxthead' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
$htmlstr.="<tr bgcolor='#f8fdff'><td height='15' align='center' width='40px'>简称</td>";
$htmlstr.="<td align='center'>名称</td></tr></table></div>";
///optionDivbody
$htmlstr.="<div id='tabody' class='optionDivbody'>";
$htmlstr.="<table id='ajaxtbody' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
while(list($id,$itemno,$name,$detp)=$rec[$i])
{
$i++;
$htmlstr.="<tr bgcolor='#f7fcff' id=\"tr$i\" style='cursor:hand' onmouseover=\"ChangeColorOver(this);setTbIndex('$i');setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');\" onmouseout=\"ChangeColorOut(this)\" onclick=\"setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');Divhidden();\">";
$htmlstr.="<td height='15' name='td$itemno' width='40px'>$itemno</td>";
$htmlstr.="<td>$name<input type=hidden name='dtname$i' value='$name'><input type=hidden name='dtid$i' value='$id'></td></tr>";
}
$htmlstr.="</table></div>";
// $objResponse->alert($htmlstr);
//div层
$objResponse->script("setmaxlinenum('$i')");//设置行数
$objResponse->script("isdropdown='y'");
$objResponse->script("strinputstr='$obj'");//input 源名字
//$objResponse->script("inputid='$objid'");//input 源名字
// $objResponse->script("setInuptKeyupEvent()");//添加input onKeyup事件
//table
$objResponse->assign("optd",innerHTML,$htmlstr);//绘制表格
$objResponse->script("setDivPosition('$obj','$boc')");//设置表格的位置
return $objResponse;
}
$xajax->processRequest();?>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货