Появление кнопки «удалить отмеченные» при нажатии одного 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 обломится. |
Я так и не понял, что у автора не работает. Вроде уже и код тут постился который прекрасно эту кнопку скрывает/раскрывает, а он всё недоволен.
|
kostyanet, А, я и не туплю! Хоть перед хоть после чексов ставлю все равно не работает....
|
jsnb, Вот и я не пойму тут и на фибле нормально работает а у меня на сайте и в песочке jsbin не работает((
|
| Часовой пояс GMT +3, время: 10:25. |