js动态查询数据库后,需要在table里实现详细数据的展开和折叠功能。因为不知道如何动态定义id,所有点击那个+,都只能展开和折叠第一条记录,相关代码如下,请帮忙看看如何修改,以实现点击+后展开相对应的记录。或者有其它的思路实现此功能?谢谢!(图片为效果图)
代码如下:
function show()
{
if(document.getElementById("t").style.display=='none')
{
document.getElementById("t").style.display='table-row';
document.getElementById("d").style.display='block';
document.getElementById("a").innerHTML="-";
}
else
{
document.getElementById("t").style.display='none';
document.getElementById("d").style.display='none';
document.getElementById("a").innerHTML="+";
}
}
function connectDB()
{
var InfoSD = parent.myData.sendSD;
var InfoED = parent.myData.sendED;
try{
var conn=new ActiveXObject("ADODB.Connection");
var rs=new ActiveXObject("ADODB.Recordset");
var filePath = location.href.substring(0, location.href.indexOf("ReportQuery.htm"));
var path = filePath + "RBatch.mdb";
var path=path.replace('file:///','');
var connectString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path;
var selectString="select * from ReportBatchList where DateTime>=#"+InfoSD+" 00:00:00# and DateTime<=#"+InfoED+" 23:59:59# ORDER BY DateTime DESC";
conn.open(connectString);
rs=conn.execute(selectString);
var tableString="";
while(!rs.EOF)
{
var Cdt = new Date(rs(0));
tableString+="<div>"
tableString+="<table border='1' cellpadding='0' cellspacing='0' style='margin:0px; border:1px; border-collapse:collapse; table-layout:fixed' bordercolor='#C0C0C0'>";
tableString+="<tr height='25'><td width='25' align='center' style='color: #00F; font-size: 20px;'><a id=a onclick=show(t) href='#'>+</a></td><td width='200'><a onclick='toExec(1)' href='#'>"+" "+Cdt+"</a></td><td width='500'>"+" "+rs(5)+"</td></tr>";
tableString+="<tr id=t style='display:none'><td>"+" "+"</td><td colspan='2'><div id=d style='display:none'>";
tableString+="<table border='1' cellpadding='0' cellspacing='0' style='margin:0px; border:1px; border-collapse:collapse; table-layout:fixed' bordercolor='#C0C0C0'>";
tableString+="<tr height='25'><td>FabCode</td><td>"+" "+rs(1)+"</td></tr>";
tableString+="<tr height='25'><td>BatchName</td><td>"+" "+rs(2)+"</td></tr>";
tableString+="<tr height='25'><td>BatchNub</td><td>"+" "+rs(3)+"</td></tr>";
tableString+="<tr height='25'><td>BatchTime</td><td>"+" "+rs(4)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(6)+"</td><td>"+" "+rs(7)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(8)+"</td><td>"+" "+rs(9)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(10)+"</td><td>"+" "+rs(11)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(12)+"</td><td>"+" "+rs(13)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(14)+"</td><td>"+" "+rs(15)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(16)+"</td><td>"+" "+rs(17)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(18)+"</td><td>"+" "+rs(19)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(20)+"</td><td>"+" "+rs(21)+"</td></tr>";
tableString+="<tr height='25'><td>"+" "+rs(22)+"</td><td>"+" "+rs(23)+"</td></tr>";
tableString+="</table></div></td></tr></table>";
tableString+="</div>";
rs.moveNext();
}
document.getElementById("dataArea").innerHTML=tableString;
rs.close();
conn.close;
效果图如下:
