main.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. console.log('监控是否有pd=====' + $(this).find("td:eq(0)").data('pd'))
  34. // 取消选中,del数组里push id
  35. if ($(this).find("td:eq(0)").data('pd')) {
  36. arrDelPd.push($(this).find("td:eq(0)").data('id'))
  37. arrDelPd = unique(arrDelPd);
  38. console.log('有pd的取消 arrDelPd');
  39. console.log(arrDelPd)
  40. } else {
  41. removeByValue(arr99, $(this).find("td:eq(0)").data('id'));
  42. console.log('没有pd的取消 arr99')
  43. console.log(arr99)
  44. }
  45. } else {
  46. $(this).addClass("selected");
  47. $(this).find("td:eq(0)").addClass('checked');
  48. filterAll()
  49. // pd的 取消选中再选中,del数组里去除 id
  50. if ($(this).find("td:eq(0)").data('pd')) {
  51. removeByValue(arrDelPd, $(this).find("td:eq(0)").data('id'));
  52. arrDelPd = unique(arrDelPd);
  53. console.log('有pd的取消后重新选中 arrDelPd');
  54. console.log(arrDelPd)
  55. } else {
  56. arr99.push($(this).find("td:eq(0)").data('id'))
  57. arr99 = unique(arr99);
  58. console.log('没有pd的新增 arr99')
  59. console.log(arr99)
  60. }
  61. }
  62. });
  63. //过滤是否全部为选中状态
  64. function filterAll() {
  65. var allCheckNum = $(".pure-table tbody.multipleChoice tr").length;
  66. var checkedNum = $(".pure-table tbody.multipleChoice .selected").length;
  67. // console.log('比较')
  68. // console.log(allCheckNum)
  69. // console.log(checkedNum)
  70. if (allCheckNum && allCheckNum == checkedNum) {
  71. $('.checkall').addClass('checked')
  72. } else {
  73. $('.checkall').removeClass('checked')
  74. }
  75. }
  76. //全选 取消全选
  77. $(".checkall").click(function() {
  78. if ($(this).hasClass('checked')) {
  79. $(this).removeClass('checked');
  80. $(".pure-table tbody.multipleChoice tr").removeClass("selected")
  81. $(".pure-table tbody.multipleChoice tr").find("td:eq(0)").removeClass('checked');
  82. $(".pure-table-inner #dataList2 td").each(function() {
  83. removeByValue(arr99, $(this).data('id'));
  84. });
  85. alert(arr99)
  86. } else {
  87. $(".pure-table tbody.multipleChoice tr").addClass("selected")
  88. $(".pure-table tbody.multipleChoice tr").find("td:eq(0)").addClass('checked');
  89. $(this).addClass('checked');
  90. $(".pure-table-inner #dataList2 td.checked").each(function() {
  91. arr99.push($(this).data('id'));
  92. });
  93. arr99 = unique(arr99)
  94. alert(arr99)
  95. }
  96. });
  97. /** 多选end*/