main.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. var arr99 = []; //保存选中的变量
  2. var arrDelPd = []; //回显数据中被取消的变量
  3. $(function() {
  4. //树形结构
  5. function treeOpenOrClose() {
  6. $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
  7. $('.tree li.parent_li > span').on('click', function(e) {
  8. var children = $(this).parent('li.parent_li').find(' > ul > li');
  9. if (children.is(":visible")) {
  10. children.hide('fast');
  11. $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
  12. } else {
  13. children.show('fast');
  14. $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
  15. }
  16. e.stopPropagation();
  17. });
  18. }
  19. treeOpenOrClose();
  20. // 表格单选框选项卡
  21. $(document).on('click', '.pure-table tbody:not(.multipleChoice) tr', function() {
  22. $(this).addClass("selected").siblings().removeClass("selected");
  23. $(this).find(".status").addClass('checked').parent().siblings().find(".status").removeClass('checked');
  24. })
  25. })
  26. /** 多选start*/
  27. //复选框 选中 取消选中
  28. $(document).on('click', '.pure-table tbody.multipleChoice tr', function() {
  29. if ($(this).hasClass('selected')) {
  30. $(this).removeClass('selected')
  31. $(this).find("td:eq(0)").removeClass('checked');
  32. filterAll();
  33. // 取消选中,del数组里push id
  34. if ($(this).find("td:eq(0)").data('pd')) {
  35. arrDelPd.push($(this).find("td:eq(0)").data('id'))
  36. arrDelPd = unique(arrDelPd);
  37. console.log('arrDelPd');
  38. console.log(arrDelPd)
  39. } else {
  40. removeByValue(arr99, $(this).find("td:eq(0)").data('id'));
  41. console.log('数组变量')
  42. console.log(arr99)
  43. }
  44. } else {
  45. $(this).addClass("selected");
  46. $(this).find("td:eq(0)").addClass('checked');
  47. filterAll()
  48. arr99.push($(this).find("td:eq(0)").data('id'))
  49. arr99 = unique(arr99);
  50. console.log('数组变量')
  51. console.log(arr99)
  52. // pd的 取消选中再选中,del数组里去除 id
  53. if ($(this).find("td:eq(0)").data('pd')) {
  54. removeByValue(arrDelPd, $(this).find("td:eq(0)").data('id'));
  55. arrDelPd = unique(arrDelPd);
  56. console.log('arrDelPd');
  57. console.log(arrDelPd)
  58. }
  59. }
  60. });
  61. //过滤是否全部为选中状态
  62. function filterAll() {
  63. var allCheckNum = $(".pure-table tbody.multipleChoice tr").length;
  64. var checkedNum = $(".pure-table tbody.multipleChoice .selected").length;
  65. // console.log('比较')
  66. // console.log(allCheckNum)
  67. // console.log(checkedNum)
  68. if (allCheckNum && allCheckNum == checkedNum) {
  69. $('.checkall').addClass('checked')
  70. } else {
  71. $('.checkall').removeClass('checked')
  72. }
  73. }
  74. //全选 取消全选
  75. $(".checkall").click(function() {
  76. if ($(this).hasClass('checked')) {
  77. $(this).removeClass('checked');
  78. $(".pure-table tbody.multipleChoice tr").removeClass("selected")
  79. $(".pure-table tbody.multipleChoice tr").find("td:eq(0)").removeClass('checked');
  80. $(".pure-table-inner #dataList2 td").each(function() {
  81. removeByValue(arr99, $(this).data('id'));
  82. });
  83. alert(arr99)
  84. } else {
  85. $(".pure-table tbody.multipleChoice tr").addClass("selected")
  86. $(".pure-table tbody.multipleChoice tr").find("td:eq(0)").addClass('checked');
  87. $(this).addClass('checked');
  88. $(".pure-table-inner #dataList2 td.checked").each(function() {
  89. arr99.push($(this).data('id'));
  90. });
  91. arr99 = unique(arr99)
  92. alert(arr99)
  93. }
  94. });
  95. /** 多选end*/