Появление кнопки «удалить отмеченные» при нажатии одного checkbox
Доброе утро знатоки.
Есть скрипт появление кнопки удалить отмеченные при нажатии одного из checkbox http://jsfiddle.net/v4SBr/ Но он почему то работает только в фибле. Подскажите почему так? И как сделать чтоб работал везде. |
jQuery небось не подключил?
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> .hidden { display: none; } </style> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> </head> <body> <form id="form"> <input type="checkbox" id="cb1"/> <label for="cb1">Checkbox 1</label> <input type="checkbox" id="cb2"/> <label for="cb2">Checkbox 2</label> <input type="checkbox" id="cb3"/> <label for="cb3">Checkbox 3</label> <input type="checkbox" id="cb4"/> <label for="cb4">Checkbox 4</label> <button id="delete" class="hidden">Удалить отмеченные</button> </form> <script> $(function(){ $('#form input:checkbox').change(function () { $('#delete').toggle($('#form input:checkbox:checked').length>0); }); }); </script> </body> </html> |
Да не про то речь. "Фибля" (:D ) оборачивает js код в обработчик window.onload . А ты не оборачиваешь. Либо опусти скрипт вниз, чтоб на момент его выполнения твои чекбоксы уже загрузились, либо оберни в $(document).ready()
|
|
zoOmer, выполнение скрипта не откладывается до полной загрузки страницы. Поэтому скрипт отрабатывает до того, как появятся твои чекбоксы, и по-этому не работает как задумано )
|
danik.js,
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> .hidden { display: none; } </style> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> </head> <body> <form id="form"> <input type="checkbox" id="cb1"/> <label for="cb1">Checkbox 1</label> <input type="checkbox" id="cb2"/> <label for="cb2">Checkbox 2</label> <input type="checkbox" id="cb3"/> <label for="cb3">Checkbox 3</label> <input type="checkbox" id="cb4"/> <label for="cb4">Checkbox 4</label> <button id="delete" class="hidden">Удалить отмеченные</button> </form> <script> $(document).ready(function(){ $('#form input:checkbox').change(function () { $('#delete').toggle($('#form input:checkbox:checked').length>0); }); }); </script> </body> </html> так? |
Ну если скрипт внизу, то ready ждать не нужно. Ну и либу jquery можешь тоже внизу подключать - так быстрей страница отображается. Если это конечно тебе важно )
|
|
ТС, не тупите, втыкайте свой скрипт сразу как только чек-боксы перечислены и все будет работать.
Сначала в DOM появляется чек, затем его хавает js. А если наоборот, то js обломится. |
Я так и не понял, что у автора не работает. Вроде уже и код тут постился который прекрасно эту кнопку скрывает/раскрывает, а он всё недоволен.
|
Часовой пояс GMT +3, время: 10:21. |