首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js动态建表,分页有关问题,求高手解答

2012-07-28 
js动态建表,分页问题,求高手解答!例如var tbfor(var i0iditu1.lengthi++){//动态生成表格tb+table

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

如何实现分页!!

[解决办法]
改了下。

HTML code
<!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>
[解决办法]
不知道是不是你要的效果!
HTML code
<!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>');
[解决办法]

探讨

charrys
是我见过最有耐心的了,非常感谢

热点排行