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"); } }); }); |
Цитата:
|
AnimalInstinct,
jquery грузить несколько раз на странице тоже бы ненужно - но это долгая история и начать её нужно хотябы отсюда http://learn.javascript.ru/ |
Да, я только начинаю знакомство с Javacsript, сейчас вот Codeacademy прохожу :) Вообще сайтами уже третий год занимаюсь, но скриптами все время чужими пользовался и не понимал как они работают, сейчас буду матчасть изучать, ибо понимаю что без JS уже как без рук. Несколько раз загружено так как я уже все начал перебирать, думаю остановлюсь на загрузке 1.11.1 c Google.
|
Странно, но когда в select меняешь текст, не значение, а содержимое блока, с английского на русский, то почему то перестает работать. Не знаете в чем может быть дело?
var term = $.trim( $('#term :selected').text().toLowerCase() ), season = $.trim( $('#season :selected').text().toLowerCase() ); Я подозреваю что вот тут присваивает переменным значение содержимого блока, можно ли как то на select и его value переделать? |
AnimalInstinct,
$('#term').val().toLowerCase() |
Так, value не вариант , он нужен цифровой, наверное не value а label нужно использовать. Вот последний вариант на русском языке, может кому еще пригодится.
На Fiddle |
Немного не в тему, но как можно объединить эти ID в один, чтобы скрипт это понял?
#ad_lowmonth, #ad_lowweek, #ad_lowday, #ad_hightmonth, #ad_hightweek, #ad_hightday, #ad_peakmonth, #ad_peakweek, #ad_peakday Решил добавить UI slider, а поля ввода скрыть, но для каждого слайдера приходится писать свою функцию, как бы все это объединить в одну? Вот тут пример На JsFiddle |
AnimalInstinct,
1 присвоить класс или в кавычках через запятую $('#ad_lowmonth, #ad_lowweek, #ad_lowday, #ad_hightmonth, #ad_hightweek, #ad_hightday, #ad_peakmonth, #ad_peakweek, #ad_peakday') или $('[id^="ad_"]') |
Пришлось все таки делать отдельную функцию для каждого слайдера, так как поля то разные, всего 18 полей.
Осталось дело за малым :) Теперь когда выбираешь например Неделя->Высокий сезон , а потом не переключая неделю выбираем Низкий сезон, то добавляется еще один слайдер, а тот который высокий сезон не исчезает, как бы сделать так чтобы он все таки исчезал по нормальному, чтобы показывался только один DIV? Код сегодня тут на Codepen так как JsFiddle весь день висит :) |
Часовой пояс GMT +3, время: 13:00. |