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");
}
});
});
|
|
11.06.2014, 10:19
|
|
Интересующийся
|
|
Регистрация: 10.06.2014
Сообщений: 23
|
|
|
|
11.06.2014, 10:24
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
AnimalInstinct,
jquery грузить несколько раз на странице тоже бы ненужно - но это долгая история и начать её нужно хотябы отсюда http://learn.javascript.ru/
|
|
11.06.2014, 10:43
|
|
Интересующийся
|
|
Регистрация: 10.06.2014
Сообщений: 23
|
|
Да, я только начинаю знакомство с Javacsript, сейчас вот Codeacademy прохожу Вообще сайтами уже третий год занимаюсь, но скриптами все время чужими пользовался и не понимал как они работают, сейчас буду матчасть изучать, ибо понимаю что без JS уже как без рук. Несколько раз загружено так как я уже все начал перебирать, думаю остановлюсь на загрузке 1.11.1 c Google.
|
|
11.06.2014, 14:53
|
|
Интересующийся
|
|
Регистрация: 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.
|
|
11.06.2014, 15:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
AnimalInstinct,
$('#term').val().toLowerCase()
|
|
11.06.2014, 16:14
|
|
Интересующийся
|
|
Регистрация: 10.06.2014
Сообщений: 23
|
|
Так, value не вариант , он нужен цифровой, наверное не value а label нужно использовать. Вот последний вариант на русском языке, может кому еще пригодится.
На Fiddle
Последний раз редактировалось AnimalInstinct, 11.06.2014 в 16:24.
|
|
12.06.2014, 10:57
|
|
Интересующийся
|
|
Регистрация: 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.
|
|
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_"]')
|
|
12.06.2014, 17:49
|
|
Интересующийся
|
|
Регистрация: 10.06.2014
Сообщений: 23
|
|
Пришлось все таки делать отдельную функцию для каждого слайдера, так как поля то разные, всего 18 полей.
Осталось дело за малым Теперь когда выбираешь например Неделя->Высокий сезон , а потом не переключая неделю выбираем Низкий сезон, то добавляется еще один слайдер, а тот который высокий сезон не исчезает, как бы сделать так чтобы он все таки исчезал по нормальному, чтобы показывался только один DIV?
Код сегодня тут на Codepen так как JsFiddle весь день висит
|
|
|
|