Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.12 KB | None | 0 0
  1. <form action="" class="live-search" method="post">
  2. <input type="text" value="" name="filter" id="filter" placeholder="Search" />
  3. </form>
  4. <table>
  5. <thead>
  6. <th>Column 1</th>
  7. <th>Column 2</th>
  8. <th>Column 3</th>
  9. <th>Column 4</th>
  10. <th>Column 5</th>
  11. </thead>
  12. <tbody>
  13. <tr>
  14. <td>Row 1</td>
  15. <td>Row 1</td>
  16. <td>Row 1</td>
  17. <td>Row 1</td>
  18. <td>Row 1</td>
  19. </tr>
  20. <tr>
  21. <td>Row 2</td>
  22. <td>Row 2</td>
  23. <td>Row 2</td>
  24. <td>Row 2</td>
  25. <td>Row 2</td>
  26. </tr>
  27. <tr>
  28. <td>Row 3</td>
  29. <td>Row 3</td>
  30. <td>Row 3</td>
  31. <td>Row 3</td>
  32. <td>Row 3</td>
  33. </tr>
  34. <tr>
  35. <td>Row 4</td>
  36. <td>Row 4</td>
  37. <td>Row 4</td>
  38. <td>Row 4</td>
  39. <td>Row 4</td>
  40. </tr>
  41. <tr>
  42. <td>Row 5</td>
  43. <td>Row 5</td>
  44. <td>Row 5</td>
  45. <td>Row 5</td>
  46. <td>Row 5</td>
  47. </tr>
  48. <tr>
  49. <td>Row 6</td>
  50. <td>Row 6</td>
  51. <td>Row 6</td>
  52. <td>Row 6</td>
  53. <td>Row 6</td>
  54. </tr>
  55. <tr>
  56. <td>Row 7</td>
  57. <td>Row 7</td>
  58. <td>Row 7</td>
  59. <td>Row 7</td>
  60. <td>Row 7</td>
  61. </tr>
  62. <tr>
  63. <td>Row 8</td>
  64. <td>Row 8</td>
  65. <td>Row 8</td>
  66. <td>Row 8</td>
  67. <td>Row 8</td>
  68. </tr>
  69. <tr>
  70. <td>Row 9</td>
  71. <td>Row 9</td>
  72. <td>Row 9</td>
  73. <td>Row 9</td>
  74. <td>Row 9</td>
  75. </tr>
  76. <tr>
  77. <td>Row 10</td>
  78. <td>Row 10</td>
  79. <td>Row 10</td>
  80. <td>Row 10</td>
  81. <td>Row 10</td>
  82. </tr>
  83. <tr>
  84. <td>Row 11</td>
  85. <td>Row 11</td>
  86. <td>Row 11</td>
  87. <td>Row 11</td>
  88. <td>Row 11</td>
  89. </tr>
  90. <tr>
  91. <td>Row 12</td>
  92. <td>Row 12</td>
  93. <td>Row 12</td>
  94. <td>Row 12</td>
  95. <td>Row 12</td>
  96. </tr>
  97. </tbody>
  98. </table>
  99. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  100.  
  101. $('table').each(function () {
  102. var currentPage = 0;
  103. var numPerPage = 5;
  104. var $table = $(this);
  105.  
  106. $table.bind('repaginate', function () {
  107. $table.find('tbody tr').hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show();
  108. });
  109. $table.trigger('repaginate');
  110.  
  111. var numRows = $table.find('tbody tr').length;
  112. var numPages = Math.ceil(numRows / numPerPage);
  113. var $pager = $('<div class="pager"></div>');
  114. $('<span class="first"><</span>').bind('click', function (event) {
  115. currentPage = 0;
  116. $table.trigger('repaginate');
  117. $('span.page-number').each(function () {
  118. if (parseInt($(this).text()) == 1) {
  119. $(this).addClass('active')
  120. } else {
  121. $(this).removeClass('active');
  122. }
  123. });
  124. if (currentPage == 0) {
  125. $(this).addClass('disabled');
  126. $(this).parents('.pager').children('.prev').addClass('disabled');
  127. } else {
  128. $(this).removeClass('disabled');
  129. $(this).parents('.pager').children('.prev').remove('disabled');
  130. }
  131. if (currentPage == numPages - 1) {
  132. $(this).parents('.pager').children('span.next').addClass('disabled');
  133. $(this).parents('.pager').children('span.last').addClass('disabled');
  134. } else {
  135. $(this).parents('.pager').children('span.next').removeClass('disabled');
  136. $(this).parents('.pager').children('span.last').removeClass('disabled');
  137. }
  138. }).appendTo($pager);
  139. $('<span class="prev"><<</span>').bind('click', function (event) {
  140. if ((currentPage - 1) >= 0) {
  141. currentPage = currentPage - 1;
  142. $table.trigger('repaginate');
  143. $('span.page-number').each(function () {
  144. if (parseInt($(this).text()) - 1 == currentPage) {
  145. $(this).addClass('active')
  146. } else {
  147. $(this).removeClass('active');
  148. }
  149. });
  150. }
  151. if (currentPage == 0) {
  152. $(this).addClass('disabled');
  153. $(this).parents('.pager').children('.first').addClass('disabled');
  154. } else {
  155. $(this).removeClass('disabled');
  156. $(this).parents('.pager').children('.first').removeClass('disabled');
  157. }
  158. if (currentPage == numPages - 1) {
  159. $(this).parents('.pager').children('span.next').addClass('disabled');
  160. $(this).parents('.pager').children('span.last').addClass('disabled');
  161. } else {
  162. $(this).parents('.pager').children('span.next').removeClass('disabled');
  163. $(this).parents('.pager').children('span.last').removeClass('disabled');
  164. }
  165. }).appendTo($pager);
  166. for (var page = 0; page < numPages; page++) {
  167. $('<span class="page-number"></span>').text(page + 1).bind('click', {
  168. newPage: page
  169. }, function (event) {
  170. currentPage = event.data['newPage'];
  171. $table.trigger('repaginate');
  172. $(this).addClass('active').siblings().removeClass('active');
  173.  
  174. if (event.data['newPage'] == 0) {
  175. $(this).parents('.pager').children('span.prev').addClass('disabled');
  176. $(this).parents('.pager').children('span.first').addClass('disabled');
  177. } else {
  178. $(this).parents('.pager').children('span.prev').removeClass('disabled');
  179. $(this).parents('.pager').children('span.first').removeClass('disabled');
  180. }
  181. if (event.data['newPage'] == numPages - 1) {
  182. $(this).parents('.pager').children('span.next').addClass('disabled');
  183. $(this).parents('.pager').children('span.last').addClass('disabled');
  184. } else {
  185. $(this).parents('.pager').children('span.next').removeClass('disabled');
  186. $(this).parents('.pager').children('span.last').removeClass('disabled');
  187. }
  188. }).appendTo($pager).addClass('clickable');
  189. }
  190. $pager.insertAfter($table).find('span.page-number:first').addClass('active');
  191. $('<span class="next">></span>').bind('click', function (event) {
  192. if ((currentPage + 1) <= numPages) {
  193. currentPage = currentPage + 1;
  194. $table.trigger('repaginate');
  195. $('span.page-number').each(function () {
  196. if (parseInt($(this).text()) - 1 == currentPage) {
  197. $(this).addClass('active')
  198. } else {
  199. $(this).removeClass('active');
  200. }
  201. });
  202. }
  203. if (currentPage == numPages - 1) {
  204. $(this).addClass('disabled');
  205. $(this).parents('.pager').children('span.last').addClass('disabled');
  206. } else {
  207. $(this).removeClass('disabled');
  208. $(this).parents('.pager').children('span.last').removeClass('disabled');
  209. }
  210. if (currentPage == 0) {
  211. $(this).parents('.pager').children('.prev').addClass('disabled');
  212. $(this).parents('.pager').children('.first').addClass('disabled');
  213. } else {
  214. $(this).parents('.pager').children('.prev').removeClass('disabled');
  215. $(this).parents('.pager').children('.first').removeClass('disabled');
  216. }
  217. }).appendTo($pager);
  218. $('<span class="last">>></span>').bind('click', function (event) {
  219. currentPage = numPages - 1;
  220. $table.trigger('repaginate');
  221. $('span.page-number').each(function () {
  222. if (parseInt($(this).text()) == numPages) {
  223. $(this).addClass('active')
  224. } else {
  225. $(this).removeClass('active');
  226. }
  227. });
  228. if (currentPage == numPages - 1) {
  229. $(this).addClass('disabled');
  230. $(this).parents('.pager').children('span.next').addClass('disabled');
  231. } else {
  232. $(this).removeClass('disabled');
  233. $(this).parents('.pager').children('span.next').remove('disabled');
  234. }
  235. if (currentPage == 0) {
  236. $(this).parents('.pager').children('.prev').addClass('disabled');
  237. $(this).parents('.pager').children('.first').addClass('disabled');
  238. } else {
  239. $(this).parents('.pager').children('.prev').removeClass('disabled');
  240. $(this).parents('.pager').children('.first').removeClass('disabled');
  241. }
  242. }).appendTo($pager);
  243. if (currentPage == 0) {
  244. $pager.find('.first').addClass('disabled');
  245. $pager.find('.prev').addClass('disabled');
  246. }
  247.  
  248.  
  249. /** Filter Data - Live Search **/
  250. function filter(selector, query) {
  251. query = $.trim(query);
  252. query = query.replace(/ /gi, '|');
  253.  
  254. $(selector).each(function () {
  255. if (($(this).text().search(new RegExp(query, "i")) < 0)) {
  256. $(this).hide().removeClass('visible');
  257.  
  258. } else {
  259. $(this).show().addClass('visible');
  260. }
  261. });
  262. }
  263.  
  264. $('#filter').keyup(function (event) {
  265. if (event.keyCode == 27 || $(this).val() == '') {
  266. $(this).val('');
  267. $('table tbody tr').removeClass('visible').show().addClass('visible');
  268. } else {
  269. filter('table tbody tr', $(this).val());
  270. }
  271. });
  272.  
  273. });
  274.  
  275. table, td, th {
  276. border: 1px solid black;
  277. }
  278. .pager {
  279. margin-top: 15px;
  280. }
  281. .pager span.page-number,
  282. .pager span.first,
  283. .pager span.prev,
  284. .pager span.last,
  285. .pager span.next {
  286. padding-right: 5px;
  287. cursor: pointer;
  288. }
  289. .pager span.page-number:hover,
  290. .pager span.first:hover,
  291. .pager span.prev:hover,
  292. .pager span.last:hover,
  293. .pager span.next:hover {
  294. color: green;
  295. }
  296. .pager span.page-number.active {
  297. color: red;
  298. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement