Выбор всех Select
Здравствуйте, подскажите как можно перебрать все селекты по очереди и взять из них активное значение.
div id="option-228" - этот и подобные изначально неизвестны id у select - изначально неизвестно name у select - изначально неизвестно
<form id="new" action="">
<div id="option-228" class="option">
<span class="required">*</span>
<select class="sel_opt" id="228" name="option[228]">
<option value=""> первый </option>
<option value="19">второй</option>
</select>
</div>
<br>
<div id="option-217" class="option">
<span class="required">*</span>
<b>Select:</b><br>
<select class="sel_opt" id="217" name="option[217]">
<option value=""> Blue </option>
<option value="4">Red </option>
<option value="3">Green</option>
</select>
</div>
<br>
<div id="option-227" class="option">
<span class="required">*</span>
<b>Select:</b><br>
<select class="sel_opt" id="227" name="option[227]">
<option value="">Выбор 1</option>
<option value="17">Выбор 2</option>
<option value="18">Выбор 3</option>
</select>
</div>
</form>
|
kvaleksandr,
var sel = document.getElementById("new").getElementsByTagName("select"), sel_leng = sel.length, mas_sel = [];
for (i=0; i < sel_leng; i++) {
mas_sel.push(sel[i].value);
}
или можно по классу... |
Пробую
$('select.sel_opt').bind('change', function() {
var sel = document.getElementById("new").getElementsByTagName("select"), sel_leng = sel.length, mas_sel = [];
for (i=0; i < sel_leng; i++) {
mas_sel.push(sel[i].value);
}
alert(sel);
$('#new_price').text(sel);
});
через alert выдается такое вот, может я чего неправильно делаю? ощущение что в sel передается массив, только вот как его потом оттуда извлечь? ![]() |
У вас же кнопка отправить будет, зачем вы постоянно обращаетесь к заполнению массива, жесть.
Когда можно при отправки заполнить массив, проверив, что выбрана не пустота и радоваться. |
Цитата:
$('#new_price').text(sel);
должен помещаться результат обработки всех селектов. Суть задачи такая. есть изначально неизвестное количество селектов, в каждом селекте хранится параметр с цифрой. Мне необходимо суммировать все селекты и вывести в отдельный див. |
kvaleksandr, вы скажите почему выводите sel, а не mas_sel ? для чего по вашему в цикле массив собирается?)
|
Цитата:
|
Когда пытаюсь вытащить value из вашего примера, то все работает на отлично, но как пытаюсь вытащить текст, то значения выходят пустые.
var sel = document.getElementById("new").getElementsByTagName("select"), sel_leng = sel.length, mas_sel = [];
for (i=0; i < sel_leng; i++) {
mas_sel.push(sel[i].Text);
}
перепробовал несколько вариантов, но значения кроме как из value прочитать не удается( |
kvaleksandr, если память не изменяет, то не Text, а text
|
Цитата:
|
| Часовой пояс GMT +3, время: 00:37. |