(jQuery) Различные результаты, основанные на проверенном атрибуте - PullRequest
1 голос
/ 08 июля 2011

Я хочу изменить цвет фона на что-то, в зависимости от того, отмечен ли его дочерний элемент или нет, И от того, имеет ли он атрибут checked='checked' в HTML.

По сути, эточто я хочу:

  • Если он отмечен по умолчанию (с checked='checked') и пользователь снимает отметку, красный фон
  • Если он отмечен по умолчанию, но больше не отмечен (пользовательснимите флажок), но пользователь снова отметит его, зеленый фон
  • Если по умолчанию он не отмечен, а пользователь проверяет его, синий фон
  • Если флажок не установлен по умолчанию и пользователь его проверяета затем снимите флажок, белый фон ...

Это то, что я получил до сих пор:

    $(document).ready(function(){
        $("#memberForm input").change(function() {
            if($(this).is(":checked") == true ) {
                $(this).closest('dt').css({"background" : "green"});
            }
            else {
                $(this).closest('dt').css({"background" : "red"}); }
        });
    });

Я не знаю, как включить значение по умолчанию врезультаты ...

1 Ответ

2 голосов
/ 08 июля 2011

Вы можете добавить класс ко всем проверенным входам при начальной загрузке:

$("input:checked").addClass("waschecked");

Затем просто проверьте, есть ли у этого ввода класс, чтобы сказать, проверен ли он при начальной загрузке:

$(this).hasClass("waschecked")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...