"проверено" является динамически назначаемый DOM свойство (который является логическим), и доступ к атрибуту возвращает только значение, которое было там, когда загружалась страница (или значение, которое вы указали при использовании setAttribute).
Кроме того, как MooTools 1.11 не имеют сложные селекторы (атрибуты не могут быть отфильтрованы непосредственно в $$) и функция filterByAttribute принимает только прямое сравнение строк, это ваш единственный (и лучше!) Вариант:
$(sId).getElements('input').filter(function(input) {
return /radio|checkbox/.test(input.getAttribute('type')) && input.checked;
})
примечание: я добавил радио только для полноты, цикл фильтра должен быть запущен в любом случае, чтобы проверить статус проверки.
Если вы хотите, чтобы упростить этот процесс и иметь возможность повторно использовать код (MooTools путь), вы можете также смешать в проверяемом фильтре в элементы, как это:
Element.extend({
getCheckedInputs: function() {
return this.getElements('input').filter(function(input) {
return /radio|checkbox/.test(input.getAttribute('type')) && input.checked;
});
}
});
, а затем ваш звонок выбора сокращен до:
$(sID).getCheckedInputs();
Добро пожаловать в StackOverflow! Большой первый вопрос. – Sampson