精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-17
/** * 分页导航条 * 09/01/17 * @author lym6520@qq.com * @verson v2.0 * @param {} fnName 翻页时执行的函数名(传入的第一个参数必须是“当前页码”)) * @param {} fnNameParams fnName函数的参数,数组形式(比如:var arr = new Array(); arr[0] = 1;arr[1] = "hello") * @param {} pagetotal 总页码 * @param {} totalItem 总记录数 * @param {} showID 页面显示分页导航条的div ID */ function pageNavigation(fnName, fnNameParams, pagetotal, totalItem, showID) { var fnParam = new Array(); //如果这样 fnParam = fnNameParams;两个都指向同一引用 for(var i = 0 ; i < fnNameParams.length; i++) fnParam[i] = fnNameParams[i]; var pageIndex = parseInt(fnNameParams[0]);//当前页 // 无记录 if (pagetotal == 0) { $('#' + showID).empty();//清空翻页导航条 return; } // 分页 var front = pageIndex - 4;// 前面一截 var back = pageIndex + 4;// 后面一截 $('#' + showID).empty();//清空翻页导航条 // 页码链接 // 首页, 上一页 if (pageIndex == 1) { $('#' + showID).append("首页 上一页 "); } else { fnParam[0] = 1 ; var fn = fnName + "(" + fnParam + ")"; //组装执行的函数 var str = "<a href = 'javascript:" + fn + "'>首页</a> ";//创建连接 $('#' + showID).append(str); fnParam[0] = pageIndex - 1 ; var fn = fnName + "(" + fnParam + ")"; //组装执行函数 var str = "<a href = 'javascript:" + fn + "'>上一页</a> ";//创建连接 $('#' + showID).append(str); } if (pagetotal == 1) { $('#' + showID).append("1 "); } // 如果当前页是5,前面一截就是1234,后面一截就是6789 if (pagetotal > 1) { var tempBack = pagetotal; var tempFront = 1; if (back < pagetotal) tempBack = back; if (front > 1) tempFront = front; for (var i = tempFront; i <= tempBack; i++) { if (pageIndex == i) { var str = " " + i + " "; $('#' + showID).append(str); } else { fnParam[0] = i; var fn = fnName + "(" + fnParam + ")"; //组装执行的函数 var str = "<a href = 'javascript:" + fn + "'>[" + i + "]</a>";//创建连接 $('#' + showID).append(str); } } } // 下一页, 尾页 if (pageIndex == pagetotal) { $('#' + showID).append("下一页 尾页 "); } else { fnParam[0] = pageIndex + 1 ; var fn = fnName + "(" + fnParam + ")"; //组装执行的函数 var str = " <a href = 'javascript:" + fn + "'>下一页</a> ";//创建连接 $('#' + showID).append(str); fnParam[0] = pagetotal ; var fn = fnName + "(" + fnParam + ")"; //组装执行的函数 var str = "<a href = 'javascript:" + fn + "'> 尾页 </a> ";//创建连接 $('#' + showID).append(str); } // 红色字体显示当前页 var str = "<font color = 'red'>" + pageIndex +"</font>"; $('#' + showID).append(str); // 斜线"/" $('#' + showID).append("/"); // 蓝色字体显示总页数 var str = "<font color = 'blue'>" + pagetotal +"</font>"; $('#' + showID).append(str); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-03
bug修改:代码16行改成
fnParam[i] = "\"" + fnNameParams[i] + "\""; 这样就不会把字符串当做数字处理了,,, |
|
返回顶楼 | |
发表时间:2010-01-06
请问页码所对应的链接具体是怎么产生的?
我的项目里面,每次点击一个页码都要重新到DAO层去取一页的数据,请问,我应该如何生成链接呢? |
|
返回顶楼 | |
发表时间:2010-01-07
anywing 写道 请问页码所对应的链接具体是怎么产生的?
我的项目里面,每次点击一个页码都要重新到DAO层去取一页的数据,请问,我应该如何生成链接呢? 在例子中有个onClickPage方法,参数pageIndex就是当前页码了。你可以通过url跟参数或者更新form表单的隐藏字段来提交表单操作等。 如下: onClickPage : function(pageIndex){ $.fn.setCurrentPage(this,pageIndex); //这里进行ajax异步数据处理 //通过提交表单,或着使用location.href } |
|
返回顶楼 | |
发表时间:2010-01-07
恩,我就是打算通过更新form表单的隐藏字段来提交表单操作,请问能否再讲的具体一些,谢谢
|
|
返回顶楼 | |
发表时间:2010-01-07
还有,我在例子里面没看到onClickPage方法
|
|
返回顶楼 | |
发表时间:2010-01-07
anywing 写道 还有,我在例子里面没看到onClickPage方法
这个是调用分页导航条插件的方法,你可以在我的例子中看到。 |
|
返回顶楼 | |
发表时间:2010-01-07
嗯,我刚刚在另外一个帖子里看到了楼主的最新版本,就是我想知道如何通过更新form表单的隐藏字段来提交表单操作,或者我如何触发Action调用DAO层的分页结果。也就是我已经使用了楼主的插件,但是现在我如何通过点击链接,获得我所请求的页面的数据。
|
|
返回顶楼 | |
发表时间:2010-01-07
anywing 写道 嗯,我刚刚在另外一个帖子里看到了楼主的最新版本,就是我想知道如何通过更新form表单的隐藏字段来提交表单操作,或者我如何触发Action调用DAO层的分页结果。也就是我已经使用了楼主的插件,但是现在我如何通过点击链接,获得我所请求的页面的数据。
也是在下面这个方法中处理的,当然如果你是整个页面刷新的话,通过改变设置的初始化参数来初始化分页条: onClickPage : function(pageIndex){ $.fn.setCurrentPage(this,pageIndex); //这里进行ajax异步数据处理 //通过提交表单,或着使用location.href //在这里处理相应的内容更新 } |
|
返回顶楼 | |
发表时间:2010-01-07
最后修改:2010-01-07
|
|
返回顶楼 | |