Advertisement
Guest User

Untitled

a guest
Feb 24th, 2016
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. <html class="">
  2. <head>
  3. <meta charset="UTF-8">
  4. <title>Таблица с сортировкой и фильтром</title>
  5. <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
  6. <style>
  7. .header {
  8. cursor:pointer;
  9. }
  10. .header:after {
  11. content:"\e150";
  12. position:relative;
  13. top:1px;
  14. float:right;
  15. display:inline-block;
  16. font-family:'Glyphicons Halflings';
  17. font-style:normal;
  18. font-weight:400;
  19. line-height:1;
  20. -webkit-font-smoothing:antialiased;
  21. -moz-osx-font-smoothing:grayscale
  22. }
  23.  
  24. .header.headerSortDown:after {
  25. content:"\e155";
  26. }
  27.  
  28. .header.headerSortUp:after {
  29. content:"\e156";
  30. }
  31.  
  32. </style>
  33. </head>
  34. <body>
  35. <br>
  36. <hr>
  37. <section class="container">
  38. <div class="page-header">
  39. <h1>Таблица с сортировкой и фильтром</h1>
  40. </div>
  41. <div class="row col-sm-3 col-sm-offset-9">
  42. <input class="table-filter form-control" data-table="order-table" placeholder="Фильтр" type="search">
  43. </div>
  44.  
  45. <table class="order-table table-striped table">
  46. <thead>
  47. <tr>
  48. <th>Имя</th>
  49. <th>Email</th>
  50. <th>Телефон</th>
  51. <th>Стоимость</th>
  52. </tr>
  53. </thead>
  54. <tbody>
  55. <tr >
  56. <td>Джон До</td>
  57. <td>+79081708691</td>
  58. <td>99</td>
  59. </tr>
  60. <tr >
  61. <td>Джейн Ванда</td>
  62. <td>+79876543210</td>
  63. <td>349</td>
  64. </tr>
  65. <tr >
  66. <td>Альфред Пенивортх</td>
  67. <td>+76754328901</td>
  68. <td>199</td>
  69. </tr>
  70. </tbody>
  71. </table>
  72.  
  73. </section>
  74. <hr>
  75. <script type="text/javascript" src="http://tablesorter.com/jquery-latest.js"></script>
  76. <script type="text/javascript" src="http://tablesorter.com/__jquery.tablesorter.min.js"></script>
  77. <script>
  78. (function (document) {
  79. 'use strict';
  80. var LightTableFilter = function (Arr) {
  81. var _input;
  82. function _onInputEvent(e) {
  83. _input = e.target;
  84. var tables = document.getElementsByClassName(_input.getAttribute('data-table'));
  85. Arr.forEach.call(tables, function (table) {
  86. Arr.forEach.call(table.tBodies, function (tbody) {
  87. Arr.forEach.call(tbody.rows, _filter);
  88. });
  89. });
  90. }
  91. function _filter(row) {
  92. var text = row.textContent.toLowerCase(), val = _input.value.toLowerCase();
  93. row.style.display = text.indexOf(val) === -1 ? 'none' : 'table-row';
  94. }
  95. return {
  96. init: function () {
  97. var inputs = document.getElementsByClassName('table-filter');
  98. Arr.forEach.call(inputs, function (input) {
  99. input.oninput = _onInputEvent;
  100. });
  101. }
  102. };
  103. }(Array.prototype);
  104. document.addEventListener('readystatechange', function () {
  105. if (document.readyState === 'complete') {
  106. LightTableFilter.init();
  107. }
  108. });
  109.  
  110. $(".order-table").tablesorter();
  111.  
  112. }(document));
  113. </script>
  114. </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement