Guest User

Untitled

a guest
Aug 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.10 KB | None | 0 0
  1. Weight Sorting with Jquery Tablesorter2.0
  2. jQuery(document).ready(function()
  3. {
  4. jQuery(".world-records").tablesorter(
  5. {widgets: ['zebra']},
  6. {dateFormat: "us"},
  7. {headers:{5:{sorter:"Weight"}}}
  8. );
  9.  
  10. // add parser for weight
  11. $.tablesorter.addParser({
  12. // set a unique id
  13. id: 'Weight',
  14. is: function(s) {
  15. // return false so this parser is not auto detected
  16. return false;
  17. },
  18. //format the column for sorting
  19. format: function(s) {
  20. var array,wieght_decimal;
  21. array = s.split(" ");
  22.  
  23. //we should always have lbs even if it's zero
  24. wieght_decimal = parseInt(array[0]);
  25.  
  26. //if we have ounces, add it to the lbs
  27. if(array[2]){
  28. wieght_decimal = wieght_decimal + 0.0625*parseInt(array[2]);
  29. }
  30.  
  31. return wieght_decimal;
  32. },
  33. // set type, either numeric or text
  34. type: 'numeric'
  35. });
  36. });
  37.  
  38. <table class="world-records" class="tablesorter">
  39. <thead>
  40. <tr class="table-titles" style="border-bottom:blank;">
  41. <th class="headerSortDown">
  42. <span>
  43. Brand
  44. </span>
  45. </th>
  46. <th class="headerSortDown" id="date-sort">
  47. <span>
  48. Date
  49. </span>
  50. </th>
  51. <th class="headerSortDown">
  52. <span>
  53. Angler
  54. </span>
  55. </th>
  56. <th class="headerSortDown">
  57. <span>
  58. Species
  59. </span>
  60. </th>
  61. <th class="headerSortDown" id="Weight">
  62. <span>
  63. Weight
  64. </span>
  65. </th>
  66. <th class="headerSortDown">
  67. <span>
  68. Lure
  69. </span>
  70. </th>
  71. <th class="headerSortDown">
  72. <span>
  73. LineClass
  74. </span>
  75. </th>
  76. <th class="headerSortDown">
  77. <span>
  78. Status
  79. </span>
  80. </th>
  81. </tr>
  82. </thead>
  83. <tbody>
  84. <tr class="odd">
  85. <td>
  86. <span class="logotxt">
  87. vmc
  88. </span>
  89. <img alt="" style="clear: left;" class="logo small" src="logo-vmc.jpg?$staticlink$"
  90. />
  91. </td>
  92. <td>
  93. 12/01/1996
  94. </td>
  95. <td>
  96. Robert Busby
  97. </td>
  98. <td>
  99. Albacore Tuna
  100. </td>
  101. <td>
  102. 50 lb 911 oz
  103. </td>
  104. <td>
  105. Magnum
  106. </td>
  107. <td>
  108. M-37 kg (80 lb)
  109. </td>
  110. <td class="last-td">
  111. Approved
  112. </td>
  113. </tr>
  114. <tr class="even">
  115. <td>
  116. <span class="logotxt">
  117. rapala
  118. </span>
  119. <img style="clear: left;" class="logo small" src="logo-rapala.jpg?$staticlink$"
  120. alt="" />
  121. </td>
  122. <td>
  123. 1/12/1887
  124. </td>
  125. <td>
  126. Hampl, Christopher
  127. </td>
  128. <td>
  129. Barracuda, Pacific
  130. </td>
  131. <td>
  132. 7 lb 7 oz
  133. </td>
  134. <td>
  135. Magnum GM
  136. </td>
  137. <td>
  138. M-Junior
  139. </td>
  140. <td class="last-td">
  141. Approved
  142. </td>
  143. </tr>
  144. <tr class="odd">
  145. <td>
  146. <span class="logotxt">
  147. storm
  148. </span>
  149. <img alt="" style="clear: left;" class="logo small" src="logo-storm.jpg?$staticlink$"
  150. />
  151. </td>
  152. <td>
  153. 12/31/2001
  154. </td>
  155. <td>
  156. Hampl, Maximilian
  157. </td>
  158. <td>
  159. Barracuda, Pacific
  160. </td>
  161. <td>
  162. 6 lb 9 oz
  163. </td>
  164. <td>
  165. Magnum 14 GM
  166. </td>
  167. <td>
  168. M-Junior
  169. </td>
  170. <td class="last-td">
  171. Retired
  172. </td>
  173. </tr>
  174. <tr class="even">
  175. <td>
  176. <span class="logotxt">
  177. sufix
  178. </span>
  179. <img alt="" style="clear: left;" class="logo small" src="logo-sufix.jpg?$staticlink$"
  180. />
  181. </td>
  182. <td>
  183. 11/31/1992
  184. </td>
  185. <td>
  186. Hampl, Christopher
  187. </td>
  188. <td>
  189. Barracuda, Pacific
  190. </td>
  191. <td>
  192. 7 lb 7 oz
  193. </td>
  194. <td>
  195. Magnum GM
  196. </td>
  197. <td>
  198. M-10 kg (20 lb)
  199. </td>
  200. <td class="last-td">
  201. Approved
  202. </td>
  203. </tr>
  204. <tr class="odd">
  205. <td>
  206. <span class="logotxt">
  207. luhrjensen
  208. </span>
  209. <img alt="" style="clear: left;" class="logo small" src="logo-luhrjensen.jpg?$staticlink$"
  210. />
  211. </td>
  212. <td>
  213. 5/18/2001
  214. </td>
  215. <td>
  216. Hampl, Christopher
  217. </td>
  218. <td>
  219. Skipjack, black
  220. </td>
  221. <td>
  222. 5 lb 9 oz
  223. </td>
  224. <td>
  225. Rapala 14 Mackerel
  226. </td>
  227. <td>
  228. M-Junior
  229. </td>
  230. <td class="last-td">
  231. Approved
  232. </td>
  233. </tr>
  234. <tr class="even">
  235. <td>
  236. <span class="logotxt">
  237. triggerx
  238. </span>
  239. <img alt="" style="clear: left;" class="logo small" src="logo-triggerx.jpg?$staticlink$"
  240. />
  241. </td>
  242. <td>
  243. 1/14/1999
  244. </td>
  245. <td>
  246. Toivonen, Ville
  247. </td>
  248. <td>
  249. Zander
  250. </td>
  251. <td>
  252. 10 lb 10 oz
  253. </td>
  254. <td>
  255. Shad Rap B
  256. </td>
  257. <td>
  258. 06 kg (12 lb)
  259. </td>
  260. <td class="last-td">
  261. Approved
  262. </td>
  263. </tr>
  264. <tr class="odd">
  265. <td>
  266. <span class="logotxt">
  267. bluefox
  268. </span>
  269. <img alt="" style="clear: left;" class="logo small" src="logo-bluefox.jpg?$staticlink$"
  270. />
  271. </td>
  272. <td>
  273. 10/05/2008
  274. </td>
  275. <td>
  276. Montero Sanchez, Luis
  277. </td>
  278. <td>
  279. Machaca (Sabalo pipon)
  280. </td>
  281. <td>
  282. 5 lb 0 oz
  283. </td>
  284. <td>
  285. CountDown 44
  286. </td>
  287. <td>
  288. All-Tackle
  289. </td>
  290. <td class="last-td">
  291. Approved
  292. </td>
  293. </tr>
  294. <tr class="even">
  295. <td>
  296. <span class="logotxt">
  297. terminator
  298. </span>
  299. <img alt="" style="clear: left;" class="logo small" src="logo-terminator.jpg?$staticlink$"
  300. />
  301. </td>
  302. <td>
  303. 11/02/2001
  304. </td>
  305. <td>
  306. Arostegui, Martini
  307. </td>
  308. <td>
  309. Gar, alligator
  310. </td>
  311. <td>
  312. 21 lb 0 oz
  313. </td>
  314. <td>
  315. Rapala
  316. </td>
  317. <td>
  318. 03 kg (6 lb)
  319. </td>
  320. <td class="last-td">
  321. Approved
  322. </td>
  323. </tr>
  324. <tr class="odd">
  325. <td>
  326. <span class="logotxt">
  327. williamson
  328. </span>
  329. <img alt="" style="clear: left;" class="logo small" src="logo-williamson.jpg?$staticlink$"
  330. />
  331. </td>
  332. <td>
  333. 09/16/1886
  334. </td>
  335. <td>
  336. Casal, Xavier
  337. </td>
  338. <td>
  339. Grouper, broomtail
  340. </td>
  341. <td>
  342. 24 lb 0 oz
  343. </td>
  344. <td>
  345. X-Rap Magnum 30
  346. </td>
  347. <td>
  348. M-15 kg (30 lb)
  349. </td>
  350. <td class="last-td">
  351. Approved
  352. </td>
  353. </tr>
  354. <tr class="even">
  355. <td>
  356. <span class="logotxt">
  357. rapala
  358. </span>
  359. <img style="clear: left;" class="logo small" src="logo-rapala.jpg?$staticlink$"
  360. alt="" />
  361. </td>
  362. <td>
  363. 09/05/2002
  364. </td>
  365. <td>
  366. Nabozny, Stan
  367. </td>
  368. <td>
  369. Barracuda, Guinean
  370. </td>
  371. <td>
  372. 13 lb 12 oz
  373. </td>
  374. <td>
  375. CountDown 18
  376. </td>
  377. <td>
  378. M-02 kg (4 lb)
  379. </td>
  380. <td class="last-td">
  381. Approved
  382. </td>
  383. </tr>
  384. <tr class="odd">
  385. <td>
  386. <span class="logotxt">
  387. vmc
  388. </span>
  389. <img alt="" style="clear: left;" class="logo small" src="logo-vmc.jpg?$staticlink$"
  390. />
  391. </td>
  392. <td>
  393. 07/16/2002
  394. </td>
  395. <td>
  396. Nabozny, Stan
  397. </td>
  398. <td>
  399. Barracuda, Guinean
  400. </td>
  401. <td>
  402. 15 lb 7 oz
  403. </td>
  404. <td>
  405. X-Rap
  406. </td>
  407. <td>
  408. M-03 kg (6 lb)
  409. </td>
  410. <td class="last-td">
  411. Approved
  412. </td>
  413. </tr>
  414. <tr class="even">
  415. <td>
  416. <span class="logotxt">
  417. storm
  418. </span>
  419. <img alt="" style="clear: left;" class="logo small" src="logo-storm.jpg?$staticlink$"
  420. />
  421. </td>
  422. <td>
  423. 11/16/2001
  424. </td>
  425. <td>
  426. Nabozny, Stan
  427. </td>
  428. <td>
  429. Barracuda, Guinean
  430. </td>
  431. <td>
  432. 17 lb 3 oz
  433. </td>
  434. <td>
  435. CountDown 18
  436. </td>
  437. <td>
  438. M-06 kg (12 lb)
  439. </td>
  440. <td class="last-td">
  441. Approved
  442. </td>
  443. </tr>
  444. <tr class="odd">
  445. <td>
  446. <span class="logotxt">
  447. sufix
  448. </span>
  449. <img alt="" style="clear: left;" class="logo small" src="logo-sufix.jpg?$staticlink$"
  450. />
  451. </td>
  452. <td>
  453. 07/21/2003
  454. </td>
  455. <td>
  456. Nabozny, Stan
  457. </td>
  458. <td>
  459. Barracuda, Guinean
  460. </td>
  461. <td>
  462. 15 lb 6 oz
  463. </td>
  464. <td>
  465. CountDown 18
  466. </td>
  467. <td>
  468. M-06 kg (12 lb)
  469. </td>
  470. <td class="last-td">
  471. Retired
  472. </td>
  473. </tr>
  474. </tbody>
  475. </table>
  476.  
  477. // add parser through the tablesorter addParser method
  478. $.tablesorter.addParser({
  479. // set a unique id
  480. id: 'weights',
  481. is: function(s) {
  482. // return false so this parser is not auto detected
  483. return false;
  484. },
  485. //format the column for sorting
  486. format: function(s) {
  487. var array,weight_decimal;
  488.  
  489. //trim s cause it returns all kinds of garbage white spaces
  490. array = jQuery.trim(s).split(" ");
  491.  
  492. //we should always have lbs even if it's zero
  493. weight_decimal = parseInt(array[0]);
  494.  
  495. //if we have ounces, add it to the lbs
  496. if(array[2]){
  497. weight_decimal = weight_decimal + 0.0625*parseInt(array[2]);
  498. }
  499.  
  500. return weight_decimal;
  501. },
  502. // set type, either numeric or text
  503. type: 'numeric'
  504. });
  505.  
  506.  
  507.  
  508. //apply your sorter to the column
  509. $(function() {
  510. $("#dataTable").tablesorter({
  511. headers: {
  512. 6: {
  513. sorter:'weights'
  514. }
  515. }
  516. });
  517. });
  518.  
  519. $.tablesorter.addParser({
  520. id: 'weight',
  521. is: function(s) {
  522. return false;
  523. },
  524. format: function(s) {
  525. // replace "lb" with a decimal point and remove "oz" and all spaces
  526. return parseFloat(s.replace(/[oz|s]/g, '').replace(/lb/i,'.'));
  527. },
  528. type: 'numeric'
  529. });
  530.  
  531. $("table").tablesorter({
  532. headers: {
  533. 1: { sorter: 'weight' }
  534. }
  535. });
Add Comment
Please, Sign In to add comment