дополнительная помощь и лучшие практики:
вместо того, чтобы использовать метатег tou, вы можете заставить IE использовать его механизм рендеринга ребра с помощью следующих метатегов (кодировка только для совместимости с текущим кодом)
<meta charset="windows-1252" /> why are using this encoding instead of utf-8?
<meta http-equiv="X-UA-Compatible" content="IT=edge,chrome=IE8">
обратите внимание, что добавление chrome = IE8 на самом деле не нужно, но если вы встретите пользователя с ie8 или менее с установленным кадром chorme, он будет использовать расширенный механизм рендеринга chrome вместо ie8
(кстати, вы также можете предложить им установить Google Frame, но это не в тему)
По моему опыту, этот хак решает множество загадочных проблем с IE8.
пара других мелких проблем:
1. Вы используете language = javascript - вам это больше не нужно… лучше использовать type = text / javascript (также почти не нужно сегодня, возможно, актуально в будущем с ростом coffeescript и т. Д.)
2. скрипт включен в таблицу! Зачем? лучше включить в голову или еще лучше (для производительности) в нижней части раздела тела с $ (document) .ready функционировать вокруг или даже лучше в нижней части с $ .ready и вызывать из другого файла js для отделения js от остальная часть HTML.
и теперь для более важной части - вы уже вызываете jQuery на своей странице - позвольте ему сделать тяжелую работу!
Jquery уже оптимизирован для совместимости между браузерами, производительности и т. Д., Его также проще использовать:
Вы можете связать событие переключения без «onclick» с помощью чего-то вроде: добавление класса «selectAll» для кнопок-флажков.
и теперь для скрипта:
$(document).ready(function(){
$(".selectAll").click(function(){
var b = $(this);
if (b.checked){
$('form input:checkbox [name=b.name]').each(function(i){
this.prop("checked",true);
});
}
});
});
- Я знаю, что это не самый оптимизированный селектор ... но сейчас это не его проблема.
edit: кажется, я сделал несколько ошибок в коде - исправлено! и работает как шарм