注:该页面需有较好的JQuery基础。
共要实现3个功能:
1. 发表评论
2. 无刷新分页
思路:
页面中放<input type="hidden"/>控件,自定义个属性用于存放用户选择的页码,默认1。
页面中放<table><tr></tr></table>,每个页码对应一个<td></td>,添加到tr中。
页面中放<table></table>,每条评论对应一个<tr></tr>,添加到table中。
1. 点击发表按钮->向发表评论处理页发起Ajax请求->删除当前评论表格的所有行->根据隐藏控件存储的属性刷新当前页面的评论。
2. 点击不同页码->删除当前评论表格的所有行->设置隐藏控件的属性->根据隐藏控件存储的属性刷新当前页面的评论。
3. 点击删除按钮->获得按钮存储的对应的评论id,发起删除评论请求->根据隐藏控件存储的属性刷新当前页面的评论。
//评论 function postComment() { //发起 发表评论的ajax请求 $.post("../05CommentWithoutRefresh/AddComment.ashx",{ "comment": $("#txa").val() },function (data,status) { if (status == "success") { if (data == "ok") { alert("评论成功!"); //发表评论后 ,清空评论框 $("#txa").val(""); //每次发表评论后 刷新页数 getPages(); //刷新当前页的评论 showComment(); } } }); } //刷新评论页数 function getPages() { //删除当前页面所有页码 $("#tr_pages td").remove(); //发起 获取页数ajax请求 $.post("../07PageWithoutRefresh/Handler1.ashx",status) { // 如果隐藏控件绑定的页数 大于最大页数 则设置为最大页数(这样删除最后一页的评论,不会最后一页没有评论了却还存在页码) var hdn_page = $("#hdn").attr("pageNum"); if (hdn_page > data + 1) { $("#hdn").attr("pageNum",data + 1); } //创建1-n的页码 for (var i = 0; i < data; i++) { //创建页码 并绑定点击事件(显示点击页的评论) var td = $("<td>" + (i + 1) + "</td>").css("cursor","pointer").click(function () { //将点击的页数绑定给影藏控件的属性 var pageNum = $(this).text(); $("#hdn").attr("pageNum",pageNum); //刷新评论 showComment(); }); $("#tr_pages").append(td); } }); } //按页数获取评论 function showComment() { //取页数 var pageNum = $("#hdn").attr("pageNum"); //发起 获取评论ajax请求 $.post("../07PageWithoutRefresh/GetCommentsByPage.ashx",{ "pageIndex": pageNum },status) { if (status == "success") { var comments = $.parseJSON(data); //清空评论表格 $("#tbl_comment tr").remove(); //遍历评论 for (var i = 0; i < comments.length; i++) { var comment = comments[i]; //创建评论行 var tr = $("<tr><td>编号:" + comment.Id + "</td><td>内容:" + comment.Comment + "</td><td>Ip:" + comment.Ip + "</td></tr>"); var del_td = $("<td></td>"); //删除按钮 绑定按钮所代表评论的id 绑定点击事件 var btn = $("<button>删除</button>").attr("id",comment.Id).click(function () { var id = $(this).attr("id"); //删除ajax请求 $.post("../08deleteRowWithoutRefresh/Handler1.ashx",{ "id": id },status) { if (status == "success") { if (data == "ok") { //删除成功后 刷新页码 刷新当前页的评论 getPages(); showComment(); } } }); }); del_td.append(btn); tr.append(del_td); $("#tbl_comment").append(tr); } } }); } function init() { getPages(); showComment(); }原文链接:https://www.f2er.com/ajax/165979.html