Поскольку selectAll
не существует во время запуска <script>
. Так что $("#selectAll")
не соответствует ни одному элементу. (jQuery не предупреждает вас, когда вы применяете операцию к никаким элементам, просто молча ничего не делает.)
Поместите <script>
ниже <input>
или поместите привязку в блок $(document).ready(function() { ... });
, чтобы код работал во время загрузки страницы.
В сторону: я бы избегал использования нестандартных селекторов jQuery, таких как :checkbox
, где это возможно, поскольку они заставляют использовать библиотеку селекторов JavaScript Sizzle вместо быстрой нативной querySelectorAll
. input.xxx[type=checkbox]
был бы другой способ сказать это.