Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   скрипт, выводящий значения checkbox в строку через запятую (https://javascript.ru/forum/css-html/31626-skript-vyvodyashhijj-znacheniya-checkbox-v-stroku-cherez-zapyatuyu.html)

Svetlana_ 05.10.2012 19:16

melky, спасибо, оперативно, но...

Ваш ответ касается опять же фиксированного кол-ва полей. Т.е.: или для 1, или для 5, или для 100.

Попробую так...
Неизвестно, сколько будет полей. Как это по-проггерски: массив полей?
Допустим: input... name="name[]"...>. Возможна иная конф-ия поля, получше, но я не в курсе. Удобнее, когда каждому полю присвоено своё имя или value. Нет?

Я правильно объясняю?

melky 05.10.2012 20:21

Цитата:

Сообщение от Svetlana_ (Сообщение 208421)
melky, спасибо, оперативно, но...

Ваш ответ касается опять же фиксированного кол-ва полей. Т.е.: или для 1, или для 5, или для 100.

Попробую так...
Неизвестно, сколько будет полей. Как это по-проггерски: массив полей?
Допустим: input... name="name[]"...>. Возможна иная конф-ия поля, получше, но я не в курсе. Удобнее, когда каждому полю присвоено своё имя или value. Нет?

Я правильно объясняю?

Если лень добавлять элементы по-одному, можно добавить их "пачкой" - нефиксированное количество полей тоже сюда относится.

(Если я правильно понял)

Только для этого понадобится поиск по классам - если есть реализация под рукой (для старых IE), это было бы замечательно. Сюда относится и jQuery.

На стороне сервера (php) добавляем класс нужным чекбоксам :
# было
echo '<input class="foobar" type="checkbox" name="...">'

# стало
echo '<input class="foobar MYCHECKBOXES" type="checkbox" name="...">'


И после этого, уже в JS, добавляем коллекцию найдённых по имени класса чекбоксов :
var checkboxes = document.getElementsByClassName("MYCHECKBOXES");

// если исп. jQuery, то тут может быть
// var checkboxes =  jQuery.find(".MYCHECKBOXES")


// дальше просто передаём коллекцию в конструктор
var myBoxes = new CheckboxCollection(checkboxes );

Svetlana_ 05.10.2012 21:49

Почему "лень"? Просто будет выводиться разное кол-во полей у каждого из пользователей.

С момента первого поста мои познания в ява-скрипт не могли вырасти, а посему... ничего не поняла из написанного, увы. Ладно. Спасибо за потраченное время.


Часовой пояс GMT +3, время: 03:05.