Здесь прибывает ответ из GOF:
Coplien описывает, как реализовать функторы, объекты, которые являются функциями в C++ [Cop92]. Он достигает степени прозрачности в их использовании путем перегрузки оператора вызова функции (оператор ()). Шаблон "команда" отличается; его фокус находится на поддержание привязки между получателем и функцией (т.е. действие), не всего поддержание функции .
var options = $$('select#mySelect option');
var len = options.length;
for (var i = 0; i < len; i++) {
console.log('Option text = ' + options[i].text);
console.log('Option value = ' + options[i].value);
}
options
- это массив всех элементов option в раскрывающемся списке #mySelect
. Если вы хотите отметить один или несколько из них как выбранные, просто используйте selected
свойство
// replace 1 with index of an item you want to select
options[1].selected = true;
var selectThis = 'option1';
$$('select#mySelect option').each(function(o){
if(o.id==selectThis){o.selected = true;$break;}
});
Чтобы получить текущую выбранную вариант, используйте:
$$('#mySelect option').find(function(ele){return !!ele.selected})