Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jQuery: проверить отмечен флажок или нет?
 
 автор: frisst   (26.06.2011 в 20:07)   письмо автору
 
 

Доброго времени суток.

$(':checkbox[id=isDoor]').click(function(){
Здесь необходимо проверить отмечен чекбокс или нет.
});

Помогите построить условие.
"Если чекбокс отмечен, то... А если не отмечен, то..."
С jQuery познакомился совсем недавно.
Пытался с помощью селекторов
if($(':checkbox[id=isDoor]:checked')) {
alert('Чекбокс отмеченный');
} else {
alert('Чекбокс не отмеченный');
}
Но не помогает. Постоянно выдаёт сообщение "Чекбокс отмеченный"

  Ответить  
 
 автор: cheops   (26.06.2011 в 21:51)   письмо автору
 
   для: frisst   (26.06.2011 в 20:07)
 

>if($(':checkbox[id=isDoor]:checked')) {
А зачем в начале двоеточие? дожно быть примерно так
if($('checkbox[id=isDoor]:checked')) {
  ...
} else {
  ...
}

  Ответить  
 
 автор: frisst   (26.06.2011 в 22:08)   письмо автору
 
   для: cheops   (26.06.2011 в 21:51)
 

>А зачем в начале двоеточие?
Ну так селектор ведь? Или я не так называю...
Если же двоеточие уберу - не работает.
Спасибо - справился. Сделал так:

<input type="checkbox" name="isDoor" id="isDoor" />

<script type="text/javascript">
         $(document).ready(function () {
                  $(':checkbox[id=isDoor]').click(function() {
                           attr = $(':checkbox[id=isDoor]').attr('checked');
                           if(attr == true) {
                                    alert('Галку поставили!');
                           } else {
                                    alert('Галку сняли!');
                           }
                  });
         });
</script>

  Ответить  
 
 автор: cheops   (26.06.2011 в 22:53)   письмо автору
 
   для: frisst   (26.06.2011 в 22:08)
 

А, ну я имею в виду конечно input, конечно, замените :checkbox его на обычный input, у вас вряд ли много input-тэгов с id=isDoor. Кроме того id обычно уникален в рамках документа, почему бы вам к нему не привязаться?
<input type="checkbox" name="isDoor" id="isDoor" /> 

<script type="text/javascript"> 
         $(document).ready(function () { 
                  $('#isDoor').click(function() { 
                           if($('#isDoor:checked').val() == "on") { 
                                    alert('Галку поставили!'); 
                           } else { 
                                    alert('Галку сняли!'); 
                           } 
                  }); 
         }); 
</script>
Чтобы не привязываться к значению "on", которое назначается браузером по умолчанию, добавьте атрибут value со своим значением.

  Ответить  
 
 автор: Гость   (27.06.2011 в 06:50)   письмо автору
 
   для: cheops   (26.06.2011 в 22:53)
 

Думаю так будет более правильно с точки зрения jQuery

<input type="checkbox" name="isDoor" id="isDoor" />  

<script type="text/javascript">  
    $(document).ready(function () { 
        $('#isDoor').click(function() {  
            if($(this).is(':checked')) {  
                alert('Галку поставили!');  
            } else {  
                alert('Галку сняли!');  
            }  
        });  
    });  
</script>

  Ответить  
 
 автор: frisst   (27.06.2011 в 15:25)   письмо автору
 
   для: cheops   (26.06.2011 в 22:53)
 

Да, не подумал. Чекбокс уникален.
Исправлю - спасибо за поправку!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования