Jquery - удаление класса на проверенных / непроверенных кнопках радио - PullRequest
0 голосов
/ 02 марта 2012

Прошло 5 часов с тех пор, как я боролся с этим, я искал вверх и вниз по всему.Я пытаюсь изменить фоновую ячейку, которая содержит проверенное радио.Мне удается добавить фоновый класс, но я не могу удалить его фон, когда не отмечен.

Вот код, который я использую:

http://jsfiddle.net/ceWbW

В любом случае, чтобыудалить фоновый класс после того, как радио не проверено?Мне не удалось это сделать.Спасибо!

1 Ответ

0 голосов
/ 02 марта 2012

$("td input:not(:checked)") привязывает событие только к непроверенным элементам.

Свяжите его со всеми td input элементами и используйте this.checked внутри обратного вызова для доступа к проверенному состоянию.

Вот пример: http://jsfiddle.net/ceWbW/5/

$("td input").change(function () {
    var $this = $(this);
    var td = $this.parent();
    // un-green all columns which contain a radio element from the same group
    td.siblings().filter(function() {
        return !!$(this).find('input[name="'+$this.attr('name')+'"]:radio').length;
    }).removeClass('green');
    // green the current column in case the radiobox is enabled
    if(this.checked) {
        td.addClass('green');
    }
});
...