jquery.tableSort.js 2.0 KB

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