jQuery分页刷新:分页不记得以前页面中更改的样式
jquery pagination refresh: pagining not remembering the changed styles in previous pages
我正在返回要从控制器查看的项目列表。在视图中,我使用jQuery一个用于分页的插件在页面中显示列表。操作方法是
public ActionResult Messages()
{
List<Message> listMessagesHeader = new List<Message>();
listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=11});
listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=0});
listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=1});
listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=2});
listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=3});
listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=4);
listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=5);
listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=6);
listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=7);
listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=8);
listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=9);
listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=10);
return View(listMessagesHeader);
}
我的视图如下所示
@model List<Message>
@{
Layout = null;
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=10">
<title>Messages</title>
<script src="@Url.Content("~/Scripts/Pagination.js")"></script>
</head>
<body>
<div class="col-xs-12 no-padding">
<div class="col-xs-12 no-padding table">
<table class="table table-bordered table-hover table-responsive table-nowrap" id="content" title="Inbox Messages">
<thead>
<tr>
<th>From</th>
<th>
Subject
</th>
<th>
<a href='#' title="Click Header to Sort">Date</a>
</th>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var item in Model)
{
<tr >
@if(item.isStared){
<td id="@item.MessageId">
<i title="click to change importance" style="border-bottom: none ! important;" class="text-primary editable-click icon-star mark-star"></i>
</td>
}
else{
<td>
<i title="click to change importance" style="border-bottom: none ! important;" class="text-primary editable-click icon-star-empty mark-star"></i>
</td>
}
<td>
@Item.data
</td>
</tr>
}
}
</tbody>
<tfoot>
<tr id="pagerTwo">
<td colspan="3">
<div class="col-xs-4 col-sm-offset-4">
<div class="col-xs-4">
<div class="col-xs-6 pull-right">
<a href="#"> <span class="glyphicon glyphicon-chevron-left prev pull-right"></span></a>
</div>
<div class="col-xs-6 pull-right">
<a href="#"> <span class="glyphicon glyphicon-backward first pull-right"></span></a>
</div>
</div>
<div class="col-xs-4">
<input type="text" disabled class="pagedisplay col-xs-12 text-center" title="pagedisplay" />
</div>
<div class="col-xs-4">
<div class="col-xs-6 pull-left">
<a href="#"> <span class="next glyphicon glyphicon-chevron-right pull-left"></span></a>
</div>
<div class="col-xs-6 pull-right">
<a href="#"> <span class="glyphicon glyphicon-forward last pull-left"></span></a>
</div>
</div>
</div>
<select class="pagesize" style="display: none" title="Pagesize">
<option selected="selected" value="8">8</option>
</select>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
<div id="MessageBody" class="col-xs-12 no-padding">
</div>
</body>
</html>
<script src="@Url.Content("~/Scripts/TableScripts/jquery.tablesorter.Seccurepager.js")" type="text/javascript"></script>
<script type="text/javascript">
var pager = new Imtech.Pager();
$(document).ready(function () {
pager.paragraphsPerPage = 5; // set amount elements per page
pager.pagingContainer = $('#content'); // set of main container
pager.paragraphs = $('tr', pager.pagingContainer); // set of required containers
pager.showPage(1);
});
</script>
<script type="text/javascript">
$(document).on('click', '.mark-star', function () {
$('#' + this.id).removeClass("icon-star-empty");
$('#' + this.id).addClass("icon-star");
debugger;
});
</script>
我编写了java脚本函数"AddStar"和"RemoveStar"函数来添加消息的删除图标。
问题是由于分页脚本我无法保留添加的样式类。当我单击下一页,然后单击上一页时。上一页添加的样式类被删除,页面以原始形式显示。
删除那些 onclick 事件和用户 jquery 点击事件,如
$(document).on('click','#element',function(){
});
实际上,当您更改页面时,您的html会刷新并且您定义的onclick事件丢失,因此最好使用jquery事件。 这些在任何情况下都有效。
也不建议使用内联 css。使用样式类,以便它可以持久化。
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 如何通过引用var Using DataTables来进行分页或排序
- 使用CSS或JavaScript计算分页符的数量
- DataTables-创建自定义分页样式(加载更多样式)
- 使用ajax的服务器端分页&jQuery
- 分页:如何用AJAX加载第一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 不带jquery的全屏分页
- 更改组合框分页后,getValue和getRawValue返回相同的值
- jQuery简单分页
- 使用jQuery在表中分页
- jQuery分页下一页和上一页按钮在点击零或超过最后一页后失败
- jQuery:根据select选项中的每页项目进行分页
- 如何为我的分页添加格式
- 用键盘分页jQuery下一个和上一个控件.触发器('点击')不'不起作用
- 如何在emberjs中使用幻影假数据进行分页
- 如何在分页事件中突出显示数据表中的单词
- 如何在使用jsPDF将html转换为pdf的同时,在pdf中的某个点进行分页
- 导轨 4.宝石will_paginate.更改在 ajax 请求上设置的分页链接
- jQuery分页刷新:分页不记得以前页面中更改的样式