Discuss / JavaScript / 【东拼西凑】交作业

【东拼西凑】交作业

Topic source
// TODO:绑定事件
selectAll.change(function() {
  if (selectAll.is(':checked')) {
    langs.prop('checked', true);
    selectAllLabel.hide();
    deselectAllLabel.show();
  }
  else {
    langs.prop('checked', false);
    selectAllLabel.show();
    deselectAllLabel.hide();
  }
})

invertSelect.click(function() {
  langs.map(function() {
    if ($(this).prop('checked')) {
      $(this).prop('checked', false);
    }
    else {
      $(this).prop('checked', true);
    }
  })
  langs.change();  // 反选也会发生全选/全不选的事件
})

langs.change(function() {
  let count = 0;
  langs.each(function() {
    if ($(this).prop('checked')) {
      count += 1;
    }
  });
  if (count === langs.length) {
    selectAll.prop('checked', true);
    selectAllLabel.hide();
    deselectAllLabel.show();
  }
  else if (count === 0) {
    selectAll.prop('checked', false);
    selectAllLabel.show();
    deselectAllLabel.hide();
  }
})

  • 1

Reply