Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Несколько чекбоксов (https://javascript.ru/forum/jquery/39460-neskolko-chekboksov.html)

Зосимов 01.07.2013 12:44

Несколько чекбоксов
 
Добрый день.
Хочу сделать несколько чекбоксов на странице.
Код примерно такой
$(document).ready(function() {
      $('#btnStatus').click(function(){
        var isChecked = $('#chkSelect').is(':checked');
        alert(isChecked);
        if(isChecked)
          $('p').html('Checkbox is checked: <b>True</b>');
        else
          $('p').html('Checkbox is checked: <b>False</b>');
      });
    });

это срабатывает только для первого чекбокса.
Подскажите пожалуйста, как правильно написать, что бы код срабатывал для каждого чек бокса и Checkbox is checked: <b>True</b> писалось только под нужным чек боксом.

rockerror 01.07.2013 12:49

у вас проблема скорее всего в том, что вы ориентируетесь по id элемента. А id элемента должно быть уникальным. Т.е. вам нужно либо присвоить каждому элементу уникальный id и проверять отдельно (не очень тру), или ориентироваться на класс, т.е. добавить элементам, например класс .myCheckbox и по нажатию на кнопку проходиться по ним функцией .each() т.е.
$('.myCheckbox').each(function(){
    if ( $(this).is(':checked') ) $('p').html('Checkbox is checked: <b>True</b>');
});


Код не тестил, но как-то так должно быть.

Зосимов 01.07.2013 13:25

Цитата:

Сообщение от rockerror (Сообщение 259416)
у вас проблема скорее всего в том, что вы ориентируетесь по id элемента. А id элемента должно быть уникальным. Т.е. вам нужно либо присвоить каждому элементу уникальный id и проверять отдельно (не очень тру), или ориентироваться на класс, т.е. добавить элементам, например класс .myCheckbox и по нажатию на кнопку проходиться по ним функцией .each() т.е.
$('.myCheckbox').each(function(){
    if ( $(this).is(':checked') ) $('p').html('Checkbox is checked: <b>True</b>');
});


Код не тестил, но как-то так должно быть.

спасибо.
Но почему то не работает (

рони 01.07.2013 14:01

Зосимов,
html код какой у вас?


Часовой пояс GMT +3, время: 01:07.