jQuery - Как использовать метод Each () для циклического прохождения и изменения всех отмеченных полей при загрузке страницы - PullRequest
4 голосов
/ 12 января 2010

Я загружаю веб-страницу с серией из 20 и более флажков. Страница загружается с данными из базы данных, так что некоторые флажки будут отмечены, и текстовые области, связанные с этими флажками, будут иметь некоторый текст. То, что я хочу сделать, это: 1) переберите все чекбоксы и найдите те, которые проверены 2) затем измените атрибут «disabled» и свойства css каждой связанной текстовой области

Каждый флажок имеет уникальный идентификатор (например, specA01, specA02, specA03 и т. Д.), А каждая текстовая область имеет уникальный, но связанный идентификатор (например, specA01summ, specA02summ, specA03summ и т. Д. ...)

У меня есть этот код, который я изменил из другой строки на той же странице, но я знаю, что я неправильно понимаю некоторый основной принцип здесь ... вероятно, имеет отношение к строке ".this" ...

    $("input[type=checkbox][checked]").each(
            function() {
                var checkBoxId = $(this).attr('id');
                $('#' + checkBoxId + 'summ').removeAttr("disabled");
                $('#' + checkBoxId + 'summ').css({'background-color' : '#ffffff', 'color' : '#000000', 'border-color' : '#696FA3', 'height' : '10em'});
                $('#' + checkBoxId + 'summRequired').css("display", "block");

            });

По сути, в этом коде я пытаюсь перебрать все отмеченные флажки, получить каждый их идентификатор в переменной с именем 'checkBoxID', а затем изменить элемент textarea с идентификатором '#' + checkBoxId + ' summ '. Любая помощь или руководство, которое вы можете предоставить, очень ценится. Извините за мое вопиющее невежество. Я все еще изучаю программирование и jQuery.

1 Ответ

5 голосов
/ 12 января 2010
$(":checkbox:checked").each(function(o){
  var chkID = $(this).attr("id");
  $("#"+chkID+"summ").removeAttr("disabled");
  /* ... */
});
...