Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   select + onchange + selected (https://javascript.ru/forum/dom-window/14607-select-onchange-selected.html)

Harosh 23.01.2011 00:00

select + onchange + selected
 
Привет уважаемому сообществу :)

кратко: выбираем 3 пункт -> получаем новую страницу -> как указать на ней что сейчас выбран третий пункт? динамически разумеется)

развернуто:
пару часов поизучав js переделал сортировку в виде выпадающего списка
<select name="catsort" onchange="window.location.replace(window.location.pathname+this.value)">
<option value="?sort=name&amp;direction=ASC">1</option>
<option value="?sort=name&amp;direction=DESC">2</option>
<option value="?sort=Price&amp;direction=ASC">3</option>
<option value="?sort=Price&amp;direction=DESC">4</option>
</select>


и все бы замечательно, но после получения нового документа в браузер, опшен опять соскакивает на дефолтный, оно и понятно...

бегло изучив вопрос, вижу 2 варианта
- писать в куку "опшен селектед" и применять его на новой странице
- передавать форму и обрабатывать в пхп

вопрос - а на js можно в пару строк реализовать?

bonifacii 23.01.2011 03:49

В принципе, вся информация о том, какой опшен должен быть выбран есть в url. Если реализовать нужно именно на js, то можно как-то так:

var loc = location.href;
var optionsArr = document.getElementById("selectTag").options;
for(i = 0; i < optionsArr.length; i++){
	if(loc.indexOf(optionsArr[i].value) != -1){
		optionsArr[i].selected = true;
		break;
	}
}


Хотя лучше, конечно, на сервере добавить нужному опшену параметр selected и не мучаться.

Harosh 23.01.2011 04:39

bonifacii спасибо за помощь.
видимо и правда проще на сервере


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