Вопрос 1: данный
<input type="radio" name="foo" value="1" />
<input type="radio" name="foo" value="2" />
<input type="radio" name="foo" value="3" />
В Mootools, как я возвращаюсь "2", учитывая вход "нечто", предполагая, что второй переключатель был нажат.
Вопрос 2: (это связано) - Данный подобные исходные данные флажка, как я возвращаю или список массива или список разделенных запятой значений проверенных значений?
Я желаю отправить значения этих исходных данных через Запрос. JSON, передавая его как ПОЛУЧИТЬ параметр.
Предполагая, что имя флажка "foo", чтобы получить выбранный радиоэлемент, вы можете использовать:
var values = $$('input[name=foo]:checked').map(function(e) { return e.value; });
Это возвращает массив с 1 элементом, который является значением выбранного элемента.
Или просто расширьте прототип массива и добавьте метод getFirst().
Array.implement({
getFirst: function() {
if(this.length == 0) {
return null;
}
return this[0];
}
});
Тогда вы можете сделать следующее:
var value = $$('input[name=foo]:checked').getFirst().value;
Аналогично, чтобы получить все отмеченные флажки, используйте:
var values = $$('input[name=foo]:checked').map(function(e) { return e.value; });
Функция двойного доллара ($$) используется для выбора нескольких элементов с помощью CSS-селектора. Затем к этим элементам может быть применена карта (часть класса Array), чтобы получить только нужное значение (значения).
Подробнее об этих псевдоселекторах можно прочитать на http://mootools.net/docs/core/Utilities/Selectors