Discuss / JavaScript / 参考“觉得写得还行”大佬的,学习了!

参考“觉得写得还行”大佬的,学习了!

Topic source

// 1 全选/全不选

selectAll.change(function (e) {

  let flag = selectAll.is(':checked');

  langs.get().forEach(el => $(el).prop('checked', flag));

  if (flag) {

    selectAllLabel.hide();

    deselectAllLabel.show();

  } else {

    selectAllLabel.show();

    deselectAllLabel.hide();

  }

});

// 2 反选

invertSelect.click(function(e) {

  langs.get().forEach(el => $(el).prop('checked', !$(el).is(':checked')));

  checkAllOrDeAll();

});

// 3 手动选择

langs.change(function (e) {

  checkAllOrDeAll();

});

// 4 是否全选

function checkAllOrDeAll() {

  let flag = true;

  langs.get().forEach(el => {

    if (!$(el).is(':checked')) flag = false;

  });

  if (flag) {

    selectAllLabel.hide();

    deselectAllLabel.show();

    selectAll.prop('checked', true);

  } else {

    selectAllLabel.show();

    deselectAllLabel.hide();

    selectAll.prop('checked', false);

  }

}


  • 1

Reply