Хотя часть этой функциональности можно реализовать без использования JavaScript, я не рекомендовал бы ее, поскольку она не работает в старых браузерах.
Вы можете использовать псевдокласс CSS3 :target
для переключения между <form>
в вашей разметке. Демо: http://jsfiddle.net/mathias/kFH3e/
Как видите, на самом деле это не «переключение» флажков, а только формы; и если вы уже отметили несколько полей в одной из форм, они все равно будут отмечены после переключения туда и обратно.
Это один из случаев, когда вполне приемлемо использовать JavaScript, поскольку кнопки «выбрать все / ничего» только улучшают пользовательский интерфейс; это все еще приемлемый опыт без них.
TL; DR В этом случае можно использовать JavaScript.