Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Отмена выбора в select'e


Автор: batigoal 22.2.2005, 19:35
В списке select находятся такие значения:

item1
item2
-------
item3
-------
.........

т.е. ---- - это просто разделитель. Если пользователь выбирает его, то нужно это отменить и оставить выбор, который был до этого. Есть ли какой-нибудь более цивилизованный способ, чем просто хранить последний выбор в переменной?

Автор: Aliance 22.2.2005, 20:20
Код

function test(selectblock) {
var now = selectblock.selectedIndex[selectedIndex].value
if (now == "-------") {
  // тут делаешь дальше скрипт
  // чесно говоря я не понял, какое значение тебе нужно
  // предыдущее до выбранного?
  // тогда убавь now на 1 (now-1)
}
}
...
<select... onchange="test(this)">
...
</se...>

Автор: batigoal 22.2.2005, 20:34
Я в итоге сделал так:
Код

var lastBy = 0;
................................
<select id='BY' name='BY'
onFocus="lastBy = this.selectedIndex;"
onChange="if(this.options[this.selectedIndex].value=='-') this.selectedIndex = lastBy;
else lastBy=this.selectedIndex;">


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)