[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: multiselect. проверка элемента на "выбранность"
lastalert
Привет всем

Пытаюсь написать скрипт, который будет отображать количество выбранных элементов мультиселекта, т.е. выбрал элемент, на странице показало "Выбрано: 2" и т.д. Через setInterval не получилось сделать.

Вот сама функция:
<script>
function getSelectedIndexes(oListbox) {
var arrIndexes = new Array;
for (var i = 0; i < oListbox.options.length; i++) {
if (oListbox.options[i].selected) {
arrIndexes.push(i);
}
}

return arrIndexes;
};

var objSel = document.getElementById('toppings');

document.getElementById('count').innerHTML = 'Выбрано: ' + getSelectedIndexes(objSel);

</
script>

Подскажите, как реализовать вышеописанную идею? (с js мало знаком, только основы)



Спустя 4 минуты, 8 секунд (3.10.2011 - 20:37) Winston написал(а):
Смотри



Спустя 44 секунды Winston написал(а):
Цитата (lastalert @ 3.10.2011 - 20:33)
return arrIndexes;
    };

Зачем ; после закрывающей скобки ?

Спустя 28 минут, 1 секунда (3.10.2011 - 21:05) lastalert написал(а):
Winston, тчк зпт случайно по невнимательности там появилась.
За ссылку спасибо, но, похоже, это немного не то, что я спрашивал.
С подсчетом выбранных option-ов проблемы нет, работает все. Суть вопроса в том, как отображать количество выбранных элементов. Допустим выбрал в этом списке 3 пункта, в теге с определенным ID появилось "Выбрано 3", потом выбрал еще 2 элемента, в том же ID уже "Выбрано 5" и т.д. (без перезагрузки страницы)

Спустя 21 минута, 4 секунды (3.10.2011 - 21:26) Xes написал(а):
Затираешь innerHtml и воодишь новое значение
.innerHTML = '';
.innerHTML = 'Выбрано: ' + getSelectedIndexes(objSel);
По поводу того что такое getSelectedIndexes - тебе виднее если говоришь что все работает то ок.
Я те лишь алгоритм сказал.

Спустя 10 минут, 40 секунд (3.10.2011 - 21:37) Winston написал(а):
Блин одни халявщики вокруг :)
Держи
Свернутый текст
<script type="text/javascript">
function
foo(id)
{
var sel = document.getElementById(id);
var res = document.getElementById('res');
var count = 0;
for(var i = 0; i < sel.options.length; i++)
{
if(sel.options[i].selected)
{
count++
res.innerHTML = 'Выбрано: ' + count;
}
}
}

</script>

<select
multiple id="sel" onchange="foo(this.id)">
<option>
1</option>
<option>
2</option>
<option>
3</option>
<option>
4</option>
</select>

<div
id="res">
</div>

Спустя 59 минут, 44 секунды (3.10.2011 - 22:37) lastalert написал(а):
Winston, спасибо за помощь smile.gif


_____________
...think about your actions.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.