Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2020, 12:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Клик по селекту
Привет.
<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 в див подгружаются данные.
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2020, 12:52
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,698

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

или при загрузке страницы ставить
selectedIndex=0
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2020, 13:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

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

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

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


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

Последний раз редактировалось laimas, 24.09.2020 в 13:50.
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2020, 14:58
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Сообщение от laimas
выберите уж что-то одно, либо нативный JS, либо JQ
Согласен.
А вот toggle(), не прокатит). Получается выбрал один,открылся див,передумал-выбрал другой,а див закрылся). И проверка на value тоже нужна.Не выходит без неё. Так как value отправляю на сервер,там проверка в базе и возврат. А если value нет, то и запрос не нужен. Но возможно я что то недопонял.
Вариант voraa, подходит.Благодарю всех,что откликнулись
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2020, 16:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

toggle(boolean) - если boolean = false, а значение первое опции списка пустое, что тоже есть false, то объект будет скрыт, в противном случае он будут показан. И хоть защелкайтесь, все будет работать.
Ответить с цитированием
  #6 (permalink)  
Старый 07.10.2020, 12:30
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Сообщение от laimas
Что за чушь - метод toggle может работать и так:
Понял,спасибушки)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS / jQuery — почему не получается выполнить программный клик по кнопке? antonium Events/DOM/Window 1 17.07.2018 00:28
Клик и двойной клик ksa Events/DOM/Window 18 19.12.2013 09:55
сломался клик средней кнопкой Gvozd Сайт Javascript.ru 8 08.06.2012 17:57
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Вместо наведения мыши, нужен клик Jaroslav jQuery 4 24.10.2011 10:50