Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.06.2014, 01:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

AnimalInstinct,
мда --- вы запускаите скрипт когда элементов нет на странице -- в окне Result находится код который запускает ваш скрипт когда страница готова .
вот так можно
$(function () {
     $('#term, #season').on('change', function () {
         $('div[id^="ad_"]:gt(3)').css("display", "none");

         var term = $.trim($('#term :selected').text().toLowerCase()),
             season = $.trim($('#season :selected').text().toLowerCase());
         if ($('#term :selected').val() > 0 && $('#season :selected').val() > 0) {
             var $sel = '#ad_' + season + term;
             $($sel).css("display", "block");

         }

     });
 });
Ответить с цитированием
  #12 (permalink)  
Старый 11.06.2014, 10:19
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

Сообщение от рони Посмотреть сообщение
AnimalInstinct,
мда --- вы запускаите скрипт когда элементов нет на странице -- в окне Result находится код который запускает ваш скрипт когда страница готова .
вот так можно
$(function () {
     $('#term, #season').on('change', function () {
         $('div[id^="ad_"]:gt(3)').css("display", "none");

         var term = $.trim($('#term :selected').text().toLowerCase()),
             season = $.trim($('#season :selected').text().toLowerCase());
         if ($('#term :selected').val() > 0 && $('#season :selected').val() > 0) {
             var $sel = '#ad_' + season + term;
             $($sel).css("display", "block");

         }

     });
 });
Спасибо вам огромное! Вы меня осчастливили просто! Все заработало!
Ответить с цитированием
  #13 (permalink)  
Старый 11.06.2014, 10:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

AnimalInstinct,
jquery грузить несколько раз на странице тоже бы ненужно - но это долгая история и начать её нужно хотябы отсюда http://learn.javascript.ru/
Ответить с цитированием
  #14 (permalink)  
Старый 11.06.2014, 10:43
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

Да, я только начинаю знакомство с Javacsript, сейчас вот Codeacademy прохожу Вообще сайтами уже третий год занимаюсь, но скриптами все время чужими пользовался и не понимал как они работают, сейчас буду матчасть изучать, ибо понимаю что без JS уже как без рук. Несколько раз загружено так как я уже все начал перебирать, думаю остановлюсь на загрузке 1.11.1 c Google.
Ответить с цитированием
  #15 (permalink)  
Старый 11.06.2014, 14:53
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

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

var term   = $.trim( $('#term :selected').text().toLowerCase() ),
      season = $.trim( $('#season :selected').text().toLowerCase() );


Я подозреваю что вот тут присваивает переменным значение содержимого блока, можно ли как то на select и его value переделать?

Последний раз редактировалось AnimalInstinct, 11.06.2014 в 14:57.
Ответить с цитированием
  #16 (permalink)  
Старый 11.06.2014, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

AnimalInstinct,
$('#term').val().toLowerCase()
Ответить с цитированием
  #17 (permalink)  
Старый 11.06.2014, 16:14
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

Так, value не вариант , он нужен цифровой, наверное не value а label нужно использовать. Вот последний вариант на русском языке, может кому еще пригодится.

На Fiddle

Последний раз редактировалось AnimalInstinct, 11.06.2014 в 16:24.
Ответить с цитированием
  #18 (permalink)  
Старый 12.06.2014, 10:57
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

Немного не в тему, но как можно объединить эти ID в один, чтобы скрипт это понял?

#ad_lowmonth,
#ad_lowweek,
#ad_lowday,
#ad_hightmonth,
#ad_hightweek,
#ad_hightday,
#ad_peakmonth,
#ad_peakweek,
#ad_peakday

Решил добавить UI slider, а поля ввода скрыть, но для каждого слайдера приходится писать свою функцию, как бы все это объединить в одну? Вот тут пример На JsFiddle

Последний раз редактировалось AnimalInstinct, 12.06.2014 в 11:03.
Ответить с цитированием
  #19 (permalink)  
Старый 12.06.2014, 11:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

AnimalInstinct,
1 присвоить класс
или в кавычках через запятую
$('#ad_lowmonth, #ad_lowweek, #ad_lowday, #ad_hightmonth, #ad_hightweek, #ad_hightday, #ad_peakmonth,
#ad_peakweek,
#ad_peakday')
или $('[id^="ad_"]')
Ответить с цитированием
  #20 (permalink)  
Старый 12.06.2014, 17:49
Аватар для AnimalInstinct
Интересующийся
Отправить личное сообщение для AnimalInstinct Посмотреть профиль Найти все сообщения от AnimalInstinct
 
Регистрация: 10.06.2014
Сообщений: 23

Пришлось все таки делать отдельную функцию для каждого слайдера, так как поля то разные, всего 18 полей.

Осталось дело за малым Теперь когда выбираешь например Неделя->Высокий сезон , а потом не переключая неделю выбираем Низкий сезон, то добавляется еще один слайдер, а тот который высокий сезон не исчезает, как бы сделать так чтобы он все таки исчезал по нормальному, чтобы показывался только один DIV?

Код сегодня тут на Codepen так как JsFiddle весь день висит
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Скрыть блок на некоторое время (5 сек) Vladislav jQuery 3 08.07.2013 08:42
Скрипт по добавлению списка баз данных при входе в систему! Demidovstan Сайт Javascript.ru 3 13.05.2009 17:36
Блок выбора элементов из списка. Аля joblist Acrossfy Элементы интерфейса 3 26.03.2009 00:49
раскрывать/скрывать <td> при выборе определенного элемента списка zip Элементы интерфейса 2 19.01.2009 13:58