Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Клик по селекту (https://javascript.ru/forum/events/81065-klik-po-selektu.html)

ureech 24.09.2020 13:38

Клик по селекту
 
Привет.
<select onchange="getValue();" id="group">
<option value="">a</option>
<option value="1">b</option>
<option value="2">c</option>
</select>

<div style="display:none" id="tovar"></div>


function getValue(){
		var select = document.getElementById("group");
		var value = select.value;
		if(value)$('#tovar').show();
}


Если я вибираю option b или c ,мой див появляется. Если я перезагружу страницу в select остаётся последний выбранный option, но див при этом скрыт. Это не есть гуд. Подскажите как сделать,что бы или див был открыт или выбрана option а в селектк. Так как от значения value в див подгружаются данные.

voraa 24.09.2020 13:52

<option value="" selected>a</option>

или при загрузке страницы ставить
selectedIndex=0

laimas 24.09.2020 14:17

Выполнить getValue() и при загрузке. Правда это

if(value) $('#tovar').show();

логически неверно, ибо если уже показан, а список сброшен, тогда что? Должно быть toggle() по условию значения списка:

$('#tovar').toggle(value);


без всяких if(value). Но document.getElementById("group"); и тут же $('#tovar').toggle(); как-то не гут, выберите уж что-то одно, либо нативный JS, либо JQ.

ureech 24.09.2020 15:58

Цитата:

Сообщение от laimas
выберите уж что-то одно, либо нативный JS, либо JQ

Согласен.
А вот toggle(), не прокатит). Получается выбрал один,открылся див,передумал-выбрал другой,а див закрылся). И проверка на value тоже нужна.Не выходит без неё. Так как value отправляю на сервер,там проверка в базе и возврат. А если value нет, то и запрос не нужен. Но возможно я что то недопонял.
Вариант voraa, подходит.Благодарю всех,что откликнулись :)

laimas 24.09.2020 17:15

Цитата:

Сообщение от ureech
А вот toggle(), не прокатит). Получается выбрал один,открылся див,передумал-выбрал другой,а див закрылся).

Что за чушь - метод toggle может работать и так:

toggle(boolean) - если boolean = false, а значение первое опции списка пустое, что тоже есть false, то объект будет скрыт, в противном случае он будут показан. И хоть защелкайтесь, все будет работать.

ureech 07.10.2020 13:30

Цитата:

Сообщение от laimas
Что за чушь - метод toggle может работать и так:

Понял,спасибушки)


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