«флажок» - это динамически назначаемое свойство 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();