Задать вопрос
@khazhinov

Вывод списка выбранных chekbox'ов в нужном месте?

Есть группа chekbox'ов с единым name. У каждого chekbox'а есть свой label, который привязан к id.
Задача: В нужном месте вывести содержимое label, привязанных к чекбоксам, которые отметили.
Так же при выборе последнего chekbox'a появляется дополнительное текстовое поле. Как вывести то, что туда ввели?
Вот html:
<label for="russian">Русский</label>
<input id="russian" name="language" type="checkbox">
<label for="english">Английский</label>
<input id="english" name="language" type="checkbox">
<label for="german">Немецкий</label>
<input id="german" name="language" type="checkbox">
<label for="french">Французский</label>
<input id="french" name="language" type="checkbox">
<label for="spanish">Испанский</label>
<input id="spanish" name="language" type="checkbox">
<label for="italian">Итальянский</label>
<input id="italian" name="language" type="checkbox">
<label for="chinese">Китайский</label>
<input id="chinese" name="language" type="checkbox">
<label for="oth">Другое</label> <!--for="russian"-->
<input id="oth" name="language" type="checkbox" onchange = 'showOrHide("oth", "other");'><br />
<div id = "other" style = "display: none;">
	<input id="other-input" name="language" type="text"/>
</div>

Это чекбоксы с label и дополнительное текстовое поле, которое появляется при выборе чекбокса.
А вот место, куда надо вписать всё содержимое label'ов, привязанных к выбранным чекбоксам.
<div id="languages"></div>
Понятия не имею, как подступится к задаче
  • Вопрос задан
  • 885 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Алексей К ответам на вопрос (2)
у инпута кажется есть свойство в доме, в котором лежит текст. Свойство имеет примерно следующий путь: labels[0].innerText
Соответсвенно твой
values.push(this.value)
заменится на
values.push(this.labels[0].textContent)
НО
Получать значения из label мне кажется глупость)
Пропиши значения в value, сделай хэш-таблицу(объект, где ключами будет value, а значениями - выводимый текст для пользователя). Или просто пропиши value =)
Другие варианты
Найти массив всех label ($$('label')), далее всех input, выбранных input, получить index выбранных input, потом вставлять текст label, соответсвующий по индексу выбранным инпутам.
Ответ написан
Комментировать