js动态建表,分页问题,求高手解答!
例如
var tb
for(var i=0;i<ditu1.length;i++)
{
//动态生成表格
tb+="<table>"
tb+="<tr><td><input id='f"+i+"' type='text'"</td></tr>";
tb+="<tr><td>"+code[0]+","+code[1]+""+'</td></tr>';
tb+="</table>"
}
retrun tb
如何实现分页!!
[解决办法]
改了下。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>分页</title></head><body><script>function Request(strName){ var strHref = window.document.location.href; var intPos = strHref.indexOf("?"); var strRight = strHref.substr(intPos + 1); var arrTmp = strRight.split("&"); for(var i = 0; i < arrTmp.length; i++) { var arrTemp = arrTmp[i].split("="); if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; } return "";}var tb="";var n=5;//每页5行if(Request("p")==null || Request("p")=="")//第一次没有传第几页 page=0;//初始化else page=Request("p");//有值取第几页var code =new Array('1','2','3','4','5','6','7');var allpage=parseInt(code.length/n);if(allpage<code.length/n){ allpage+=1;}var wpage,pcount;if(page>=1){ wp=(page-1)*n;//(page-1)*n第几页开始数,(page-1)*n+n开始数加上每页数 pcount=wp+n;}else{ wp=page*n;//(page)*n第几页开始数,(page)*n+n开始数加上每页数 pcount=wp+n; page=1;//设置传递时第一页显示当前页面}//alert(allpage+"-"+page);for(var i=wp;i<pcount;i++){ if(code[i]==null)//如果值为空则不输出 break; tb+="<table>" tb+="<tr><td><input id='f"+i+"' type='text'/></td></tr>"; tb+="<tr><td>"+code[i]+"</td></tr>"; tb+="</table>";}function setpage(allpage,page){//获取分页、当前页 palist="<div>"; //alert(page); for(i=0;i<allpage;i++){ if(parseInt(i+1)!=page) palist+="<a href='?p="+ parseInt(i+1)+"'>"+parseInt(i+1)+"</a>"; else palist+="<em>"+ parseInt(i+1) +"</em>" } return palist+="</div>"; }var ouput=tb+setpage(allpage,page);document.write(ouput);</script></body></html>
[解决办法]
不知道是不是你要的效果!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>分页</title><style>.h{width:100px;text-align:center}</style></head><body><table width="100" border="0" id="tablelist" style="display:none;"> <thead><tr><th class="h">标题</th></tr></thead> <tr><td>测试分页1</td></tr> <tr><td>测试分页2</td></tr> <tr><td>测试分页3</td></tr> <tr><td>测试分页4</td></tr> <tr><td>测试分页5</td></tr> <tr><td>测试分页6</td></tr> <tr><td>测试分页7</td></tr></table> <script>function Request(strName){ var strHref = window.document.location.href; var intPos = strHref.indexOf("?"); var strRight = strHref.substr(intPos + 1); var arrTmp = strRight.split("&"); for(var i = 0; i < arrTmp.length; i++) { var arrTemp = arrTmp[i].split("="); if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; } return "";}var tb="";var n=5;//每页5行if(Request("p")==null || Request("p")=="")//第一次没有传第几页 page=0;//初始化else page=Request("p");//有值取第几页 var tablist=document.getElementById("tablelist").getElementsByTagName('tr');//遍历所有trvar trlist=tablist[1].parentNode.innerHTML;//获取所有非标题的TRvar trtitle=tablist[0].parentNode.innerHTML;//获取第一个Tr作为标题var trarray=trlist.split('</tr>');var showtr=new Array();var ds="";for(i=0;i<trarray.length-1;i++){ showtr[i]=trarray[i]+"</tr>"; ds+= trarray[i]+"</tr>";}var code =showtr;//alert(trtitle);for(i=1;i<tablist;i++){ tablist[0].parentNode.innerHTML}var allpage=parseInt(code.length/n);if(allpage<code.length/n){ allpage+=1;}var wpage,pcount;if(page>=1){ wp=(page-1)*n;//(page-1)*n第几页开始数,(page-1)*n+n开始数加上每页数 pcount=wp+n;}else{ wp=page*n;//(page)*n第几页开始数,(page)*n+n开始数加上每页数 pcount=wp+n; page=1;//设置传递时第一页显示当前页面}//alert(allpage+"-"+page);tb+="<table width='100'>"tb+=trtitle;for(var i=wp;i<pcount;i++){ if(code[i]==null)//如果值为空则不输出 break; tb+=code[i]; }tb+="</table>";function setpage(allpage,page){//获取分页、当前页 palist="<div>"; //alert(page); for(i=0;i<allpage;i++){ if(parseInt(i+1)!=page) palist+="<a href='?p="+ parseInt(i+1)+"'>"+parseInt(i+1)+"</a>"; else palist+="<em>"+ parseInt(i+1) +"</em>" } return palist+="</div>"; }var ouput=tb+setpage(allpage,page);document.write(ouput);</script></body></html>
[解决办法]
你所有数据全取到页面?在页面再做假分页?
前台取了100数据到页面,然后做分页,10条一页?
那界面弄一个
var start=0,limit=10;
function nextPage(){
for(var i=start; i < start+limit;i++){
//你要写的代码
}
}
页面下面可以有下一页面按钮,点下一页面,start = start+10,再去调用nextPage方法
[解决办法]
//IE显示的是大写的tr,而FF显示的是小写的tr判断
if(isie=="IE")
var trarray=trlist.split('</TR>');
else
var trarray=trlist.split('</tr>');
[解决办法]