jquery.tablesort.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**
  2. * 点击表头排序
  3. */
  4. (function($){
  5. function urlParams() {
  6. var url = window.location.search; //获取url中"?"符后的字串
  7. var theRequest = new Object();
  8. if (url.indexOf("?") != -1) {
  9. var str = url.substr(1);
  10. strs = str.split("&");
  11. for(var i = 0; i < strs.length; i ++) {
  12. theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
  13. }
  14. }
  15. return theRequest;
  16. }
  17. function getNewUrl(Params) {
  18. }
  19. function hasSortClass() {
  20. }
  21. $.fn.tableSort = function() {
  22. var method = arguments[0];
  23. urlParams = urlParams();
  24. thead = $(this).find("thead").find("th");
  25. thead.each(function(index,element) {
  26. if(urlParams.sort_field !=undefined
  27. && urlParams.sort_field_by != undefined
  28. && $(element).data('sort') != undefined
  29. && urlParams.sort_field == $(element).data('sort')) {
  30. $(element).removeClass('sorting');
  31. $(element).removeClass('sorting_asc');
  32. $(element).removeClass('sorting_desc');
  33. $(element).addClass("sorting_" + urlParams['sort_field_by']);
  34. }
  35. });
  36. $(this).find(".sorting,.sorting_asc,.sorting_desc").click(function() {
  37. sort_class = $(this).attr('class');
  38. field = $(this).data("sort");
  39. if($(this).hasClass('sorting')) {
  40. urlParams.sort_field = field;
  41. urlParams.sort_field_by = 'asc';
  42. }else if($(this).hasClass('sorting_asc')) {
  43. urlParams.sort_field = field;
  44. urlParams.sort_field_by = 'desc';
  45. }else if($(this).hasClass('sorting_desc')) {
  46. delete urlParams.sort_field;
  47. delete urlParams.sort_field_by;
  48. }
  49. url = window.location.protocol + "//" +window.location.host+window.location.pathname;
  50. strParams = '';
  51. if(urlParams) {
  52. $.each(urlParams,function(n,value) {
  53. strParams = strParams + "&" + n + "=" + (value);
  54. });
  55. if(strParams) {
  56. strParams = strParams.substr(1);
  57. url = url + "?" + (strParams);
  58. }
  59. }
  60. //alert(url);
  61. window.location.href = url;
  62. });
  63. }
  64. })(jQuery,window);