Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2017, 16:28
Интересующийся
Отправить личное сообщение для seotapki Посмотреть профиль Найти все сообщения от seotapki
 
Регистрация: 27.08.2016
Сообщений: 28

Нужна помощь
Всем привет. Подскажите , есть скрипт:

<div class="city_select">Ваш город? <select name="choose" id="choose" class="input-select">
				  <option value="nul" selected disabled>Выберите город:</option>
				  <option value="opt1">Владивосток</option>
				  <option value="opt2">Уссурийск</option>
				  <option value="opt3">Арсеньев</option>
				</select></div>
            <section class="jqueryOptions opt1">
        		<div class="mail">
        			<a href="mailto:email1@mail.ru">email1@mail.ru</a></div>
        			<div class="phone">
        			<a href="tel:2939392">Тел: 6464564564</a>
        			<span>[[getResourceField? &id=`11` &field=`companyworktime` &isTV=`1`]]</span>
        		</div>
	        </section>
	
        	<section class="jqueryOptions opt2">
        		<div class="mail">
        			<a href="mailto:email2@mail.ru">email2@mail.ru</a></div>
        			<div class="phone">
        			<a href="tel:567567">Тел: 45353</a>
        			<span>[[getResourceField? &id=`11` &field=`companyworktime` &isTV=`1`]]</span>
        		</div>
        	</section>  
	
	<script>
	    $(function() {
  $('.jqueryOptions').hide();

  $('#choose').change(function () {
    $('.jqueryOptions').slideUp();
    $('.jqueryOptions').removeClass('current-opt');
    $("." + $(this).val()).slideDown();
    $("." + $(this).val()).addClass('current-opt');
  });
});
	</script>


1.Как сделать так, чтобы если не выбран город, то по умолчанию показывался определенный блок? например opt1 или какой-либо другой default

2. Поле выбора города на сайте будет одно, а значения контактов будут меняться в шапке сайта и на странице контактов, но оформление блока в шапке и в контактах будет разное, как не прибегая к css, сделать так, чтобы при выборе опции opt1 показывался блок opt1 и например еще блок opt_contact1, а при выборе опции opt2 показывался блок opt2 и например еще блок opt_contact2
Ответить с цитированием
  #2 (permalink)  
Старый 05.04.2017, 08:45
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от seotapki
1.Как сделать так, чтобы если не выбран город, то по умолчанию показывался определенный блок? например opt1 или какой-либо другой default
Просто выключи не нужные и оставь нужный.

Сообщение от seotapki
2. Поле выбора города на сайте будет одно, а значения контактов будут меняться в шапке сайта и на странице контактов, но оформление блока в шапке и в контактах будет разное, как не прибегая к css, сделать так, чтобы при выборе опции opt1 показывался блок opt1 и например еще блок opt_contact1, а при выборе опции opt2 показывался блок opt2 и например еще блок opt_contact2
У всех вкл/выкл элементов должен быть единый класс... Или родитель. При событии изменения селекта нужно выключить все однотипные элементы, а потом включить нужный.
Ответить с цитированием
  #3 (permalink)  
Старый 05.04.2017, 13:55
Интересующийся
Отправить личное сообщение для seotapki Посмотреть профиль Найти все сообщения от seotapki
 
Регистрация: 27.08.2016
Сообщений: 28

Сообщение от ksa Посмотреть сообщение
Просто выключи не нужные и оставь нужный.


У всех вкл/выкл элементов должен быть единый класс... Или родитель. При событии изменения селекта нужно выключить все однотипные элементы, а потом включить нужный.
Первый вариант сделал так, но не знаю на сколько это правильно:

<select name="choose" id="choose" class="input-select">
				  <option value="nul" selected disabled>Выберите:</option>
				  <option value="opt1">Владивосток</option>
				  <option value="opt2">Уссурийск</option>
				<!--  <option value="opt3">Арсеньев</option>-->
				</select>


<section class="jqueryOptions opt1">
        		
	        </section>


	<script>
	    $(function() {
  $('.jqueryOptions').hide();
  $('.opt1').show();

  $('#choose').change(function () {
    $('.jqueryOptions').slideUp();
    $('.jqueryOptions').removeClass('current-opt');
    $("." + $(this).val()).slideDown();
    $("." + $(this).val()).addClass('current-opt');
  });
});
	</script>



Работает, но так правильно или нет, не знаю
Ответить с цитированием
  #4 (permalink)  
Старый 05.04.2017, 14:03
Интересующийся
Отправить личное сообщение для seotapki Посмотреть профиль Найти все сообщения от seotapki
 
Регистрация: 27.08.2016
Сообщений: 28

Можно еще сделать так, чтобы выбранное значение сохранялось в сессию или cookies и не менялось при обновлении страницы?
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2017, 15:43
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от seotapki
Можно еще сделать так, чтобы выбранное значение сохранялось в сессию или cookies и не менялось при обновлении страницы?
Сессия умрет по закрытию окна. Серверная сессия умрет еще если вышел таймаут неактивности...

К кукам можно еще добавить локальное хранилище.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
нужна помощь тех кто разбирается. igoryk jQuery 2 20.10.2010 19:42
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17