Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Когда нажимаю на кнопку - на сайте появляется новый объект

Привет всем.

Тут такие дела. Когда нажимаю на 1. "Клацни сюда!", должно появятся 2. "Нижнее окошко с формой заполнения сообщения".
Как это сделать? Кто-то может накинуть набросок мне нужного кода?
Ответ:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    <style>
        input, textarea {
            display: block;
        }
        #my-form {
            display: none;
        }
    </style>
</head>
<body>
    <input type="button" value="Клацни сюда!" id="my-button">
    <form action="" id="my-form">
        <label>Name:<input type="text"></label>
        <label>E-mail:<input type="email"></label>
        <label>Message<textarea></textarea></label>
        <input type="submit" value="send">
    </form>
    <script type="text/javascript">
        $("#my-button").click(function(){
             $("#my-form").show();
        });
    </script>
</body>
</html>
Вопрос: Показать скрытый опшен.

Всем привет.Есть два селекта.Один скрытый, а также в нём скрыты опшены.
<select name="mrk"   style="width:100%">
	<option value="all">Все</option>
	<option  class="loc" data-id="1" value="" >vasya</option>
        <option  class="loc" data-id=2"" value="" >Pety</option>
        <option  class="loc" data-id=3"" value="" >Ivan</option>
</select>

<select name="brn" id="brn" class="hidden"   style="width:100%">
	<option value="all">Все</option>
	<option  class="loc hidden" data-id="2" value="" >Moskow</option>
        <option  class="loc hidden" data-id=1"" value="" >London</option>
        <option  class="loc hidden" data-id=3"" value="" >Paris</option>
</select>

Нужно при выборе в первом селекте показать второй селект с соответствующим опшеном.
Первую половину осилил.
$('select[name="mrk"]').change(function() {
        var index = $(this)[0].selectedIndex;
	var data_id = this.options[index].getAttribute('data-id'); 
        if (data_id){$('#brn').show()}
    })

А вот как теперь показать нужный опшен не могу догодаться, а потому прошу подсказать.Пример в статике, в реале в динамике.
Ответ: И плюс нужно, что бы во второй селект выводился список всех элементов с выбранным в первом id.Те.Если у Васи id = 1, то во втором селекте вывело Лондон, но кроме Лондона там может быть и другие названия с таким же id и нужно что бы в списке присутствовали только они, а не все вообще.
Вопрос: Вывести время, прошедшее со дня рождения до текущей даты

Приветствую всех!
Передо мной стоит такая задача:
В форму пользователь записывает свою дату рождения (число,месяц,год) ,после эти данные записываются в скрипт. Необходимо вывести сколько прошло лет,месяцев и т д с момента рождения по сегодняшний день(в день когда проводятся манипуляции).
Из-за ограниченного набора знаний по JS решила сделать таким образом:
Написала переменные в которые записываются данные на актуальное время (для месяца,дней,часов и т д разные переменные),далее путем вычитания из данных значений значений который ввел пользователь записываю в другую переменную и позже её же и вывожу. Все замечательно кроме одного но(!) если допустим сегодня 4 число,а пользователь родился 19 числа, то значение будет в минусе. От сюда выходит вопрос - как завуалировать минус?
Очевидно что через операторы if, else, но я не совсем представляю как это сделать.
Ответ:
наиболее верный вариант - вывести сообщение о некорректности введённых данных.
Вопрос уже решен,благодарю
Вопрос: Почему не разворачиваются пункты меню


Не разворачиваются пункты меню.
Код страницы:
Код HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Examples</title>
<style>
#menu{
    float:left;
    width:100%;
    list-style:none;
    font-weight:bold;
    margin-bottom:10px;
}
#menu li{
    float:left;
    margin-right:10px;
    position:relative;
    display:block;
}
#menu li a{
    display:block;
    padding:5px;
    color:#fff;
    background:#333;
    text-decoration:none;
    
    text-shadow:1px 1px 1px rgba(0,0,0,0.75); /* Тень текста, чтобы приподнять его на немного */
    -moz-border-radius:2px;
    -webkit-border-radius:2px;
    border-radius:2px;
}
#menu li a:hover{
    color:#fff;
    background:#6b0c36;
    background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
    text-decoration:underline;
}
 
/*--- ВЫПАДАЮЩИЕ ПУНКТЫ ---*/
#menu ul{
    list-style:none;
    position:absolute;
    left:-9999px; /* Скрываем за экраном, когда не нужно (данный метод лучше, чем display:none;) */
    opacity:0; /* Устанавливаем начальное состояние прозрачности */
    -webkit-transition:0.25s linear opacity; /* В Webkit выпадающие пункты будут проявляться */
}
#menu ul li{
    padding-top:1px; /* Вводим отступ между li чтобы создать иллюзию разделенных пунктов меню */
    float:none;
    background:url(dot.gif);
}
#menu ul a{
    white-space:nowrap; /* Останавливаем перенос текста и создаем многострочный выпадающий пункт */
    display:block;
}
#menu li:hover ul{ /* Выводим выпадающий пункт при наведении курсора */
    left:0; /* Приносим его обратно на экран, когда нужно */
    opacity:1; /* Делаем непрозрачным */
}
#menu li:hover a{ /* Устанавливаем стили для верхнего уровня, когда выводится выпадающий список */
    background:#6b0c36;
    background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
    text-decoration:underline;
}
#menu li:hover ul a{ /* Изменяем некоторые стили верхнего уровня при выводе выпадающего пункта */
    text-decoration:none;
    -webkit-transition:-webkit-transform 0.075s linear;
}
#menu li:hover ul li a:hover{ /* Устанавливаем стили для выпадающих пунктов, когда курсор наводится на конкретный пункт */
    background:#333;
    background:rgba(51,51,51,0.75); /* Будет полупрозрачным */
    text-decoration:underline;
    -moz-transform:scale(1.05);
    -webkit-transform:scale(1.05);
}
 
</style>
</head>
<body>
 
<div class="leftmenu"</div>
<ul id="menu">
 <li>
<a href="#">ОКНА И ДВЕРИ ПВХ</a>
 
                
            <li><a href="#">ОКОКННЫЕ СИСТЕМЫ REHAU</a></li>
                   <ul>
      
            <li><a href="#">REHAU delight</a></li>
            <li><a href="#">REAHAU briliant</a></li>
            <li><a href="#">REHAU geneo</a></li>
        </ul>
    </li>
     <li>
    <a href="#">ОКОКННЫЕ СИСТЕМЫ KBE</a>
</li>
        <ul>
            <li><a href="#">KBE engine</a></li>
            <li><a href="#">KBE expert</a></li>
        </ul>
    </li>
    <li>
<a href="#">ОКОННЫЕ СИСТЕМЫ VEKA"</a>
</li>
       <ul>
       <li><a href="#">EUROLINE"</a></li>
       <li><a href="#">SOFTLINE"</a></li>
       </ul>
        </li>
                <li><a href="#">ОКНА И ДВЕРИ АЛЮМИНИЙ</a>
</li>
                   <ul>
            <li><a href="#">ОСТЕКЛЕНИЕ БАЛКОНОВ И ЛОДЖЕЙ</a></li>
            <li><a href="#">ОКНА и ДВЕРИЮ</a></li>
            <li><a href="#">ПЕРЕГОРОДКИ</a></li>
            <li><a href="#">ФАСАДНЫЕ ПЕРЕГОРОДКИ</a></li>
    </ul>
    </li>
    <li><a href="#">РОЛЬШТОРЫ И ЖАЛЮЗИ</a>
</li>
    <ul>
    </li>
        <li>
            <li><a href="#">ВЕРТИКАЛЬНЫЕ, ГОРИЗОНТАЛЬГЫЕ</a></li>
            <li><a href="#">ГОРИЗОНТАЛЬГЫЕ</a></li>
            <li><a href="#">РОЛЬШТОРЫ</a></li>
            <li><a href="#">РУЛОННЫЕ</a></li>
        </ul>
    </li>
    <li>
<a href="#">ГОТОВЫЕ ОКНА</a>
</li>
    <li>
<a href="#">АРХИТЕКТОРАМ И ДИЗАЙНЕРАМ</a>
</li>
         
    </ul>
</body>
</html>
</div>
<div class="stageImgText">
<h2 class="stageImgHeadlineWithBtn">Окна REHAU: тишина и тепло.</h2>
<p>Обширная программа систем REHAU способна удовлетворить пожелания даже самого взыскательного заказчика.</p>
<p>На сегодняшний день компания REHAU готова предложить Вам широкий выбор систем оконных профилей: от классической трехкамерной системы EURO-Design или BLITZ до уникальной системы GENEO, вобравшей в себя все важнейшие характеристики существующих на рынке оконных решений.</p>
<p>Программу дополняют две системы для изготовления входных дверей – системы профилей REHAU 60 мм и 70 мм, самый широкий на российском рынке выбор дополнительных профилей. Благодаря разнообразию форм и декоративных исполнений окна из профильных систем REHAU отлично впишутся в интерьеры различных стилей и станут настоящим украшением дома.</p>
<h2>ОКОННЫЕ РЕШЕНИЯ REHAU ДЛЯ ПРОФЕССИОНАЛОВ</h2>
<style>
   a { 
    text-decoration: underline;
  }
   a:hover { 
    text-decoration: none;
}
   A {
    color: #666;
   }
   A:visited {
    color: #666; 
   }
   A:active {
    color: #666;
   }
A:Hover {
color: #666;
  </style>
<p><img src="/templates/shop/img/geneo.png" align="left" vspace="1" hspace="11"</p>
<a href="/index.php/geneo-otkryvaya-budushchee">GENEO: ОТКРЫВАЯ БУДУЩЕЕ</a>
<p>Уникальная система оконных профилей, армированных в массе, является настоящим прорывом в области производства оконных конструкций.<br>
Системная глубина / число камер: 86 мм / 6 камер.</p><br><br>
 
<p><img src="/templates/shop/img/delight.png" align="left" vspace="12" hspace="11"</p><br>
<a href=/index.php/delight-design-garmoniya-sveta-i-stilya>DELIGHT-DESIGN: ГАРМОНИЯ СВЕТА И СТИЛЯ</a>
<p>Ноу-хау технического решения DELIGHT-Design позволяет сократить раму коробки и створки и впустить в дом на 10% больше света, по сравнению с традиционными системами.<br>
Системная глубина / число камер: 70 мм / 5 камер.</p><br><br>
 
<p><img src="/templates/shop/img/brillant.png" align="left" vspace="5" hspace="11"</p><br>
<a href="/index.php/vrillant-design-strast-k-osobennomu">ВRILLANT-DESIGN: СТРАСТЬ К ОСОБЕННОМУ</a>
<p>Оконные профили REHAU BRILLANT-Design, являясь суперпозицией эксклюзивного дизайна и инновационных технологий, требуют минимального ухода и идеальны в эксплуатации.<br>
Системная глубина/ число камер: 70 (80мм) / 5 (6) камер.</p><br><br>
 
 
<p><img src="/templates/shop/img/blitz.png" align="left" vspace="0" hspace="11"</p><br>
<a href="/index.php/blitz-kachestvo-dostupnoe-vsem">BLITZ: КАЧЕСТВО, ДОСТУПНОЕ ВСЕМ </a>
<p>Уникальная система оконных профилей, армированных в массе, является настоящим прорывом в области производства оконных конструкций.
<br>
Системная глубина / число камер: 86 мм / 6 камер.</p>
</div>
Помогите пожалуйста разобраться. Уже часа 3 сижу разбираюсь и никак не пойму в чем дело.
Ответ: sergey_ku, я смотрю через инспектор ни у одного элемента нет hover-ов для того, чтобы меню раскрывалось при наведении...

Добавлено через 26 минут
Кликните здесь для просмотра всего текста
Код HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Examples</title>
<style>
#menu{
    float:left;
    width:100%;
    list-style:none;
    font-weight:bold;
    margin-bottom:10px;
}
#menu li{
    float:left;
    margin-right:10px;
    position:relative;
    display:block;
}
#menu li a{
    display:block;
    padding:5px;
    color:#fff;
    background:#333;
    text-decoration:none;
    
    text-shadow:1px 1px 1px rgba(0,0,0,0.75); /* Тень текста, чтобы приподнять его на немного */
    -moz-border-radius:2px;
    -webkit-border-radius:2px;
    border-radius:2px;
}
#menu li a:hover{
    color:#fff;
    background:#6b0c36;
    background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
    text-decoration:underline;
}
 
/*--- ВЫПАДАЮЩИЕ ПУНКТЫ ---*/
#menu ul{
    list-style:none;
    position:absolute;
    left:-9999px; /* Скрываем за экраном, когда не нужно (данный метод лучше, чем display:none;) */
    opacity:0; /* Устанавливаем начальное состояние прозрачности */
    -webkit-transition:0.25s linear opacity; /* В Webkit выпадающие пункты будут проявляться */
}
#menu ul li{
    padding-top:1px; /* Вводим отступ между li чтобы создать иллюзию разделенных пунктов меню */
    float:none;
    background:url(dot.gif);
}
#menu ul a{
    white-space:nowrap; /* Останавливаем перенос текста и создаем многострочный выпадающий пункт */
    display:block;
}
#menu li:hover ul{ /* Выводим выпадающий пункт при наведении курсора */
    left:0; /* Приносим его обратно на экран, когда нужно */
    opacity:1; /* Делаем непрозрачным */
}
#menu li:hover a{ /* Устанавливаем стили для верхнего уровня, когда выводится выпадающий список */
    background:#6b0c36;
    background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
    text-decoration:underline;
}
#menu li:hover ul a{ /* Изменяем некоторые стили верхнего уровня при выводе выпадающего пункта */
    text-decoration:none;
    -webkit-transition:-webkit-transform 0.075s linear;
}
#menu li:hover ul li a:hover{ /* Устанавливаем стили для выпадающих пунктов, когда курсор наводится на конкретный пункт */
    background:#333;
    background:rgba(51,51,51,0.75); /* Будет полупрозрачным */
    text-decoration:underline;
    -moz-transform:scale(1.05);
    -webkit-transform:scale(1.05);
}
 
</style>
</head>
<body>
<div class="leftmenu"</div>
<ul id="menu">
    <li>
        <a href="#">ОКНА И ДВЕРИ ПВХ</a>
    </li>
    <li>
        <a href="#">ОКОКННЫЕ СИСТЕМЫ REHAU</a>
        <ul>
            <li><a href="#">REHAU delight</a></li>
            <li><a href="#">REAHAU briliant</a></li>
            <li><a href="#">REHAU geneo</a></li>
        </ul>
    </li>
    <li>
        <a href="#">ОКОКННЫЕ СИСТЕМЫ KBE</a>
        <ul>
            <li><a href="#">KBE engine</a></li>
            <li><a href="#">KBE expert</a></li>
        </ul>
    </li>
    <li>
        <a href="#">ОКОННЫЕ СИСТЕМЫ VEKA"</a>
        <ul>
            <li><a href="#">EUROLINE"</a></li>
            <li><a href="#">SOFTLINE"</a></li>
       </ul>
    </li>
    <li><a href="#">ОКНА И ДВЕРИ АЛЮМИНИЙ</a>
        <ul>
            <li><a href="#">ОСТЕКЛЕНИЕ БАЛКОНОВ И ЛОДЖЕЙ</a></li>
            <li><a href="#">ОКНА и ДВЕРИЮ</a></li>
            <li><a href="#">ПЕРЕГОРОДКИ</a></li>
            <li><a href="#">ФАСАДНЫЕ ПЕРЕГОРОДКИ</a></li>
        </ul>
    </li>
    <li><a href="#">РОЛЬШТОРЫ И ЖАЛЮЗИ</a>
        <ul>
            <li><a href="#">ВЕРТИКАЛЬНЫЕ, ГОРИЗОНТАЛЬГЫЕ</a></li>
            <li><a href="#">ГОРИЗОНТАЛЬГЫЕ</a></li>
            <li><a href="#">РОЛЬШТОРЫ</a></li>
            <li><a href="#">РУЛОННЫЕ</a></li>
        </ul>
    </li>
    <li><a href="#">ГОТОВЫЕ ОКНА</a></li>
    <li><a href="#">АРХИТЕКТОРАМ И ДИЗАЙНЕРАМ</a></li>
</ul>
</body>
</html>
</div>
<div class="stageImgText">
<h2 class="stageImgHeadlineWithBtn">Окна REHAU: тишина и тепло.</h2>
<p>Обширная программа систем REHAU способна удовлетворить пожелания даже самого взыскательного заказчика.</p>
<p>На сегодняшний день компания REHAU готова предложить Вам широкий выбор систем оконных профилей: от классической трехкамерной системы EURO-Design или BLITZ до уникальной системы GENEO, вобравшей в себя все важнейшие характеристики существующих на рынке оконных решений.</p>
<p>Программу дополняют две системы для изготовления входных дверей – системы профилей REHAU 60 мм и 70 мм, самый широкий на российском рынке выбор дополнительных профилей. Благодаря разнообразию форм и декоративных исполнений окна из профильных систем REHAU отлично впишутся в интерьеры различных стилей и станут настоящим украшением дома.</p>
<h2>ОКОННЫЕ РЕШЕНИЯ REHAU ДЛЯ ПРОФЕССИОНАЛОВ</h2>
 
<p><img src="/templates/shop/img/geneo.png" align="left" vspace="1" hspace="11"</p>
<a href="/index.php/geneo-otkryvaya-budushchee">GENEO: ОТКРЫВАЯ БУДУЩЕЕ</a>
<p>Уникальная система оконных профилей, армированных в массе, является настоящим прорывом в области производства оконных конструкций.<br>
Системная глубина / число камер: 86 мм / 6 камер.</p><br><br>
 
<p><img src="/templates/shop/img/delight.png" align="left" vspace="12" hspace="11"</p><br>
<a href=/index.php/delight-design-garmoniya-sveta-i-stilya>DELIGHT-DESIGN: ГАРМОНИЯ СВЕТА И СТИЛЯ</a>
<p>Ноу-хау технического решения DELIGHT-Design позволяет сократить раму коробки и створки и впустить в дом на 10% больше света, по сравнению с традиционными системами.<br>
Системная глубина / число камер: 70 мм / 5 камер.</p><br><br>
 
<p><img src="/templates/shop/img/brillant.png" align="left" vspace="5" hspace="11"</p><br>
<a href="/index.php/vrillant-design-strast-k-osobennomu">ВRILLANT-DESIGN: СТРАСТЬ К ОСОБЕННОМУ</a>
<p>Оконные профили REHAU BRILLANT-Design, являясь суперпозицией эксклюзивного дизайна и инновационных технологий, требуют минимального ухода и идеальны в эксплуатации.<br>
Системная глубина/ число камер: 70 (80мм) / 5 (6) камер.</p><br><br>
 
 
<p><img src="/templates/shop/img/blitz.png" align="left" vspace="0" hspace="11"</p><br>
<a href="/index.php/blitz-kachestvo-dostupnoe-vsem">BLITZ: КАЧЕСТВО, ДОСТУПНОЕ ВСЕМ </a>
<p>Уникальная система оконных профилей, армированных в массе, является настоящим прорывом в области производства оконных конструкций.
<br>
Системная глубина / число камер: 86 мм / 6 камер.</p>
</div>
</body>
</html>

Получите распишитесь... Снова напортачили в html...
Вопрос: Взаимосвязанные селекты с выбором серии и языка

Здравствуйте.
Очень прошу вашей помощи, уже два дня не могу разобраться и найти подобное решение через поиск.

У меня на сайте стоит возможность выбора серий с помощью селекта, такого вида:
<select onchange="document.getElementById('play').src=this.options[this.selectedIndex].value;">
<option value="ссылка">1 серия</option>
<option value="ссылка">2 серия</option>
<option value="ссылка">3 серия</option>
<option value="ссылка">4 серия</option>
<option value="ссылка">5 серия</option>
<option value="ссылка">6 серия</option>
<option value="ссылка">7 серия</option>
<option value="ссылка">8 серия</option>
<option value="ссылка">9 серия</option>
<option value="ссылка">10 серия</option>
</select>
<iframe width="700" height="500" id="play" src="ссылка" frameborder="0"></iframe>

Возникла необходимость сделать показ серий на английском, русском и казахском языках.

Нужны что-то вроде взаимосвязанных селектов. Один селект с выбором языка, второй - с выбором серии.
Если в первом селекте стоит "русский", а во втором - "20 серия", то во фрейме показывается соответственно 20 серия на русском языке.
И если, допустим, посетитель смотрит 15 серию на русском, но захотел посмотреть её на казахском, то просто выбирает в первом селекте "казахский" и во фрейм загружается 15 серия на казахском.

<select>
<option>Русский язык</option>
<option>Английский язык</option>
<option>Казахский язык</option>
</select>

<select onchange="document.getElementById('play').src=this.options[this.selectedIndex].value;">
<option value="ссылка">1 серия</option>
<option value="ссылка">2 серия</option>
<option value="ссылка">3 серия</option>
<option value="ссылка">4 серия</option>
<option value="ссылка">5 серия</option>
<option value="ссылка">6 серия</option>
<option value="ссылка">7 серия</option>
<option value="ссылка">8 серия</option>
<option value="ссылка">9 серия</option>
<option value="ссылка">10 серия</option>
</select>

<iframe width="700" height="500" id="play" src="ссылка" frameborder="0"></iframe>


На один сезон из 20 серий есть 60 видео с серией на каждом языке. Нужная серия должна загружаться в зависимости от выставленных значений в обоих селектах.
Ответ: Учить конечно нужно, а вот как сделать, это вопрос. Почему была дано поискать "зависимые списки", потому, что вы не DVD контент отдаете пользователю, в котором можно выбрать одну из N звуковых дорожек. Это означает, что один язык - один файл. Из этого следует, что выбор в списке языка означает запрос списка файлов на соответствующем языке.

В этом случае файлы хранятся в базе под полями: уникальный идентификатор файла, идентификатор языка как emun значения "Русский язык", "Английский язык", "Казахский язык" (хотя выбор как текст, во внутреннем представлении SQL будет оперировать с числами от 1 до 3), имя файла, название фильма, описание фильма, и т.п. Если речь идет о сериях, то это уже будут связанные таблицы, так как не выгодно дублирование данных в базе - название, описание и прочее. То есть имена файлов будет описывать не эта таблица, а связанная с ней по идентификатору фильма другая таблица, в которой будут имена файлов и принадлежность к серии, по номерам которой можно сортировать выборку.

Список выбора языка будет выглядеть как:

<select>
<option value="1">Русский язык</option>
<option value="2">Английский язык</option>
<option value="3">Казахский язык</option>
</select>


и по умолчанию выбран русский. По умолчанию выводится список и фильмов на русском языке, то есть выборка для этого списка производиться по условию "идентификатор языка = 1".

<select>
<option value="13">Название фильма</option>
<option value="25">Название фильма</option>
<option value="37">Название фильма</option>
</select>


Если пользователь выбирает другой язык, то происходит запрос в базу и выбираются фильмы по выбранному идентификатору. Возвращается новый список фильмов.

Когда запрашивается сам фильм, то запрос в базу, это получить имя файла фильма по условию, что язык равен выбранному id из списка языков и ID фильма соответственно выбранному из списка фильмов.

Все файлы фильмов при этом хранятся в одной папке, хотя для производительности желательно ее разбить на папки соответствующие например тематике - драма, приключения, и т.д. База в этом случае должна хранить и путь к фильму, или же удобнее его описывать серверным языком как значения массива, ключами которого будет ID жанра фильма из базы. В этом случае правка пути не потребует изменений данных в базе.

Можно конечно использовать и одно имя для трех языков "Мне же нужно чтобы человек уже выбрав и смотря во втором списке определенную серию, захотел сменить её язык и сменил выбором в первом селекте (второй же уже выбран).", в этом случае одноименные файлы должны быть расположены в трех каталогах, каждый для своего языка. Принадлежность фильма к языку можно даже и не описывать в базе, но при кажущейся простоте такого решения у него есть один существенный недостаток, который сводит на нет эту простоту - использование пользователем поиска/фильтра по каталогу фильмов означает для сервера "ковыряться не только в базе, но еще и плюс в файловой системе", а последнее может стать со временем слишком накладной операцией.
Вопрос: Как получить данные из селекта

Доброго времени суток всем! Делаю сайт на подобии и столкнулся с тем, что надо вывести стоимость, изображение товара, который мы выбрали в селекте. Если значение в селекте "Выбрать", то стоимость и изображение не показывается.
У меня селектов 6-8 штук(ну как на сайте практически) и код, который ниже уж очееень большой как для 1 селекта. Я скрываю изначально поля, а потом при выборе товара - показываю..
Ранее был такой код js(огромный, не правда ли?)

А код php сейчас такой

<table>
<thead style='background: #F1F2F7'>
<tr>
<th>Тип</th>
<th>Наименование</th>
<th>Цена, грн.</th>
</tr>
</thead>			
<tr>
<td>Процессор</td>
<td> 
<?php												
echo "<div class='newselect'>";
echo "<select class='chosen' id='chosenmak' name='maker' onchange='updatePrice(this)'>"; 
echo '<option value="0">-- Выбрать --</option>';
foreach ($arr_get as $value) {
	$ID                  = $value['ID'];
	$Price         	 	 = $value['Price'];											
	$Model         		 = $value['Model'];	
	$photo 				 = $value['photo'];
echo '<option data-price="'.$Price.'" data-image="'.$photo.'" value="'.$Model.'">'."$Model".'</option>';									
}
echo "</select>";				          
echo "</div>";
echo "<span id='model'><img src='$photo' class='t' id='preview'/></span>";
echo "<td><input class='label' id='price_cpu' name='price_cpu' readonly/></td>";				
?>
</td>
</tr>


Другие селекты также сделаны, но только немного другие значения вывожу. вот так.
JS код изменил на такое для одного селекта.
Изначально всё скрыто и задача опять остается: картинка/стоимость(должны соответствовать товару) скрыты все и должны выводится тогда, когда выбран товар в селекте. Если не выбрано, то скрывать опять.
sel = document.getElementById("myTab").getElementsByClassName("t")
	for(var i=0; i<sel.length; i++) sel[i].style.display = "none";	
 	selLabel = document.getElementById("myTab").getElementsByClassName("label")
	for(var i=0; i<selLabel.length; i++) selLabel[i].style.display = "none";	
 
	function updatePrice(select){
				var image=select.options[select.selectedIndex].getAttribute("data-image");	
                var price=select.options[select.selectedIndex].getAttribute("data-price");
                  document.getElementById('price_cpu').innerHTML = price;
 
          }


Подскажите/помогите:
Как вывести стоимость и картинку товара, который выбран в селекте? Я говорил, что их 6-8
Если ничего не выбрано в селекте, то скрывать/не показывать стоимость и картинку
Я совсем новичок и не знаю как сделать.
Ответ:
Сообщение от makalet
Я не знаю как в чистом хтмле назначить для каждого значения в селекте свою цену и картинку.
В параметры можно записать...
Вопрос: Подсчитать, сколько прошло лет, месяцев, дней, часов, минут со дня, указанного в полях и до сегодняшнего

PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html>
    <head>
        <meta charset="Windows-1251">
        <title>Кнопка отправки формы</title>
<script language="JavaScript" type="text/JavaScript">
function hello()
{ 
var id;
id=window.open("","example","width=400, height=150");
id.focus(); 
id.document.open();
id.document.write("<h1>Вітаємо</h1>");
id.document.write("<form>");
    var x = document.getElementsByName("username");
    var i;
    for (i = 0; i < x.length; i++) 
{
id.document.write(x[i].value + " ");
}
id.document.write("<br>");
id.document.write("<br>");
id.document.write("<br>");
id.document.write("<input type="button" value="Close window" onclick="window.close();"> </form>");
id.document.close(); 
}
 
 
</script>
 
</head>
    <body>
    <form  method="post">
    <table>
        <tr>
           <td>Прізвище:</td>
           <td><input class="lol" type="text" name="username" ></td>
        </tr>
        <tr>
            <td>Ім'я:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>По-батькові:</td>
            <td><input type="text" name="username"></td>
        </tr>
    </table>
            <p>Дата народження: </p>
                <table>
        <tr>
           <td>Число:</td>
           <td><input type="number" name="num1"size="30" min="1" max="31"></td>
        </tr>
        <tr>
            <td>Місяць:</td>
           <td><input type="number" name="num2"size="30" min="01" max="12" ></td>
        </tr>
        <tr>
            <td>Рік:</td>
            <td><input type="number" name="num3" size="30" min="1970" max="2016"></td>
        </tr>
    </table>
            
    
 
           <input type="button" onClick="hello();" value="Відправити">
 
        </form>
    </body>
</html>
(вот код тот, что есть на данный момент. ссылки прошу не кидать, все равно не понимаю, что и как делать, повторюсь, не работал с JS вообще)
прошу помощи,/ т.к. сам уже не знаю, как организовать JS(не имел с ним дела)
в чем заключается задача:
на 1 окне сайта есть форма там 6 строк:
фамилия
имя
отчество
(дата рождения)
Число
Месяц
год
скрипт открывает маленькое окно с заголовком и 1 кнопкой закрытия, где
между заголовком и кнопкой выведены в 1 строку данные из первых трех полей 1 формы (ФИО)
во вторую строку выведены следующие 3 (ДДММГГГГ)
а в третьей строке подсчиталось, сколько прошло лет, месяцев, дней, часов, минут со дня, указанного в полях и до сегодняшнего
Ответ:
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE html>
<html>
<head>
        <meta charset="Windows-1251">
        <title>Кнопка отправки формы</title>
<script language="JavaScript" type="text/JavaScript">
function hello()
{ 
var id;
id=window.open("","example","width=400, height=150");
id.focus(); 
id.document.open();
id.document.write("<h1>Вітаємо</h1>");
id.document.write("<form>");
    var x = document.getElementsByName("username");
    var i;
    for (i = 0; i < x.length; i++) 
{
id.document.write(x[i].value + " ");
}
  var date = '';
  for (i = 3; i >= 1; i--) {
    if (date) date += '.';
    date += document.getElementsByName("num"+i)[0].value;
  }
  date = new Date(date);
var delta = new Date(Date.now()-date.getTime());
var epoch = new Date(0);
var diff_years = delta.getYear() - epoch.getYear();
  
var diff_month = delta.getMonth() - epoch.getMonth();
var diff_days = delta.getDate() - epoch.getDate();
var diff_hours = delta.getHours() - epoch.getHours();
var diff_minutes = delta.getMinutes() - epoch.getMinutes();
 id.document.write("<br>");
id.document.write(diff_years+' лет '+diff_month+' месяцев '+diff_days+' дней '+diff_hours+' часов '+diff_minutes+' минут ');
id.document.write("<br>");
id.document.write("<br>");
id.document.write("<input type="button" value="Close window" onclick="window.close();"> </form>");
id.document.close(); 
}
 
 
</script>
 
</head>
    <body>
    <form  method="post">
    <table>
        <tr>
           <td>Прізвище:</td>
           <td><input class="lol" type="text" name="username" ></td>
        </tr>
        <tr>
            <td>Ім'я:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>По-батькові:</td>
            <td><input type="text" name="username"></td>
        </tr>
    </table>
            <p>Дата народження: </p>
                <table>
        <tr>
           <td>Число:</td>
           <td><input type="number" name="num1"size="30" min="1" max="31"></td>
        </tr>
        <tr>
            <td>Місяць:</td>
           <td><input type="number" name="num2"size="30" min="01" max="12" ></td>
        </tr>
        <tr>
            <td>Рік:</td>
            <td><input type="number" name="num3" size="30" min="1970" max="2016"></td>
        </tr>
    </table>
            
    
 
           <input type="button" onClick="hello();" value="Відправити">
 
        </form>
    </body>
</html>
Вопрос: Необходимо разъяснить принцип фильтрации в селекте

Фильтр по селекту, не понимаю как работает. Подскажите пожалуйста как происходит фильтрация
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
$(document).ready(function(){  
    var view=(function(){
        var structure={
            showList:function(){},
            showOption:function(){}
        };
        structure.showList=function(list, status){
            for(var i = 0; i < list.length; i++){
                if((list[i].dataset.type==status.type[0] || status.type[0]=='all') 
                    && (list[i].dataset.producer==status.producer[0] || status.producer[0]=='all') 
                    && (status.check.indexOf(list[i].dataset.bonus)!=-1 || status.check.length==0)){
                        list[i].hidden=false;
                }else{list[i].hidden=true;}
            }
        };
        structure.showOption=function(value){
            var option='<option>' + value + '</option>';
            return option;
        }; 
        return structure;
    })(); 
    var model=(function(){
        var module={
            removeStatus:function(){},
            pushStatus:function(){},
            updateFilter:function(){}
        }; 
        var select1=document.getElementById('selectType');
        var select2=document.getElementById('selectProducer');
        var checkBox=document.getElementById('check').getElementsByTagName('input');
        var list=document.getElementsByClassName('item');
        var status={
            check:[],
            type: ['all'],
            producer: ['all']
        }; 
        var loadFilter=function(){
            select1.innerHTML='<option>all</option>';
            select2.innerHTML='<option>all</option>';
            for (var i = 0; i < list.length; i++) {
                if(status.type.indexOf(list[i].dataset.type)==-1){
                    status.type.push(list[i].dataset.type);
                    select1.innerHTML+=view.showOption(list[i].dataset.type);
                }
                if(status.producer.indexOf(list[i].dataset.producer)==-1){
                    status.producer.push(list[i].dataset.producer);
                    select2.innerHTML+=view.showOption(list[i].dataset.producer);
                }
            }
        };
        loadFilter(); 
        module.updateFilter=function(){
            status.type[0]=select1.options[select1.selectedIndex].text;
            status.producer[0]=select2.options[select2.selectedIndex].text;
            view.showList(list, status); 
            var curentOption1=status.type[0];
            var curentOption2=status.producer[0]; 
            var tmpСheckbox=[]; 
            for (var i = 0; i < list.length; i++) {
                if((list[i].dataset.type==curentOption1 || curentOption1=='all') 
                    && (list[i].dataset.producer==curentOption2 || curentOption2=='all')
                    && (tmpСheckbox.indexOf(list[i].dataset.bonus)==-1)){
                    tmpСheckbox.push(list[i].dataset.bonus);
                }
            }
            for (var i = 0; i < checkBox.length; i++) {
                if(tmpСheckbox.indexOf(checkBox[i].value)==-1){checkBox[i].disabled=true;}
                else{checkBox[i].disabled=false;}
            } 
            status.type=['all'];
            status.producer=['all'];
            for (var i = 0; i < list.length; i++){
                if((list[i].dataset.type==curentOption1 || curentOption1=='all') && (status.producer.indexOf(list[i].dataset.producer)==-1) &&(status.check.indexOf(list[i].dataset.bonus)!=-1 || status.check.length==0)){status.producer.push(list[i].dataset.producer);}
                if((list[i].dataset.producer==curentOption2 || curentOption2=='all') && (status.type.indexOf(list[i].dataset.type)==-1) && (status.check.indexOf(list[i].dataset.bonus)!=-1 || status.check.length==0)){status.type.push(list[i].dataset.type);}
            } 
            select1.innerHTML='';
            for ( i = 0; i < status.type.length; i++) {
                select1.innerHTML+='<option>'+status.type[i]+'</option>';
                if(select1.options[i].text==curentOption1){var curentIndex=i;}//текущий индекс
            } 
            //возвращает Порядковый номер выбранного параметра или первого выбранного варианта в списке выбора
            select1.selectedIndex=curentIndex; 
            select2.innerHTML='';
            for ( i = 0; i < status.producer.length; i++) {
                select2.innerHTML+='<option>'+status.producer[i]+'</option>';
                if(select2.options[i].text==curentOption2){curentIndex=i;} 
            }
            select2.selectedIndex=curentIndex; 
            var selectedCheck=0;
            var selectedDisableCheck=0;
            for (var i = 0; i < checkBox.length; i++) {
                if(checkBox[i].checked==true){
                    selectedCheck++;
                    if(checkBox[i].disabled==true){electedDisableCheck++;}
                }
            } 
            if(selectedCheck==selectedDisableCheck && selectedCheck!=0){
                select2.selectedIndex=0;
                select1.selectedIndex=0;
                for (var i = 0; i < checkBox.length; i++) {checkBox[i].disabled=false;}
                select1
                view.showList(list, status);
            } 
        }; 
        module.pushStatus=function(val){status.check.push(val);}
        module.removeStatus=function(val){status.check.splice(status.check.indexOf(val),1);}  
        return module;
    })();
    model.updateFilter();
    var form = document.getElementById('form');
    form.onchange=function (e) {
        if(e.target.tagName == 'SELECT'){model.updateFilter();}
        if(e.target.tagName == 'INPUT' ){
            if(e.target.checked){model.pushStatus(e.target.value);}
            else{model.removeStatus(e.target.value);}
            model.updateFilter();   
        }
    }   
});
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<section class="main_block_service"> 
            <div class="container">
                 
                 <form id="form">
                    <div id="check">
                        <label class="checkbox">Красный
                            <input type="checkbox" value="Photography">
                        </label>
                        <label class="checkbox">Зеленый
                            <input type="checkbox" value="Web_Design">
                        </label>
                        <label class="checkbox">Синий
                            <input type="checkbox" value="Digital">
                        </label>
                        <label class="checkbox">Желтый
                            <input type="checkbox" value="Creativity">
                        </label>
                        <label class="checkbox">Коричневый
                            <input type="checkbox" value="Seo">
                        </label>
                        <label class="checkbox">Фиолетовый
                            <input type="checkbox" value="Css_Html">
                        </label>
                    </div>
                    <div class="selects">
                        <select id="selectType" name=""></select>
                        <select id="selectProducer" name=""></select>
                    </div>
                 </form>           
                <div class="block_service">
                    <div data-type="Машины" data-producer="Красный" class="item info_service categorya" data-bonus="Photography">
                        <div class="icon_serv_1"></div>
                        <div class="text-info_serv red">
                            Красный
                            <span>
                               <img class="img" src="img/00001-390.jpg"> 
                            </span>
                        </div>
                    </div>
                    <div class="item info_service categorya"  data-type="Природа" data-producer="Зеленый" data-bonus="Web_Design">
                        <div class="icon_serv_2"></div>
                        <div class="text-info_serv green">
                            Зеленый
                            <span>
                                 <img class="img" src="img/i.jpg">
                            </span>
                        </div>
                    </div>
                    <div data-type="Природа" data-producer="Желтый" class="item info_service categoryb" data-bonus="Digital">
                        <div class="icon_serv_6"></div>
                        <div class="text-info_serv blue">
                            Синий
                            <span>
                              <img class="img" src="img/8TA6Xoqzc.jpg">
                            </span>
                        </div>
                    </div>  
                </div>  
                <div class="block_service">
                    <div data-type="Яблоко" data-producer="Красный" class="item info_service categorya" data-bonus="Web_Design">
                        <div class="icon_serv_2"></div>
                        <div class="text-info_serv green">
                            Зеленый
                            <span>
                                <img class="img" src="img/i (1).jpg">
                            </span>
                        </div>
                    </div>
                    <div data-type="Машины" data-producer="Голубой" class="item info_service categorya" data-bonus="Photography">
                        <div class="icon_serv_1"></div>
                        <div class="text-info_serv red">
                            Красный
                            <span>
                                 <img class="img" src="img/lamborghini_PNG10691.png">  
                            </span>
                        </div>
                    </div>
                    <div  data-type="Машины" data-producer="Зеленый" class="item info_service categorya" data-bonus="Creativity">
                        <div class="icon_serv_3"></div>
                        <div class="text-info_serv yellow">
                            Желтый
                            <span>
                                <img class="img" src="img/ccs-2534-092578100 1324556068_thumb.jpg">
                            </span>
                        </div>
                    </div>  
                </div> 
                <div class="block_service">
                    <div data-type="Яблоко" data-producer="Желтый" class="item info_service categoryb" data-bonus="Seo">
                        <div class="icon_serv_4"></div>
                        <div class="text-info_serv brown">
                            Коричневый
                            <span>
                                <img class="img" src="img/886104bdc1d9c70631709b8b49ce3a93.jpeg">
                            </span>
                        </div>
                    </div>
                    <div data-type="Яблоко" data-producer="Зеленый" class="item info_service categoryb" data-bonus="Css_Html">
                        <div class="icon_serv_5"></div>
                        <div class="text-info_serv blueviolet">
                            Фиолетовый
                            <span>
                                <img class="img" src="img/fd81218eff0cf341ae53c7b6c95b0448.jpg">
                            </span>
                        </div>
                    </div>
                    <div data-type="Машины" data-producer="Желтый" class="item info_service categoryb" data-bonus="Digital">
                        <div class="icon_serv_6"></div>
                        <div class="text-info_serv blue">
                            Синий
                            <span>
                                <img class="img" src="img/fb149c4bc55b120dbdaed1400c9c683c_i-134.jpg">
                            </span>
                        </div>
                    </div>  
                </div>
                <div class="block_service">
                    <div data-type="Природа" data-producer="Голубой" class="item info_service categoryb" data-bonus="Css_Html">
                        <div class="icon_serv_5"></div>
                        <div class="text-info_serv blueviolet">
                            Фиолетовый
                            <span>
                                <img class="img" src="img/fon-nebo4-1.jpg">
                            </span>
                        </div>
                    </div>
                    <div data-type="Цветы" data-producer="Желтый" class="item info_service categoryb" data-bonus="Seo">
                        <div class="icon_serv_4"></div>
                        <div class="text-info_serv brown">
                            Коричневый
                            <span>
                                <img class="img" src="img/gerbera_flower_yellow_white_background.jpg">
                            </span>
                        </div>
                    </div> 
                    <div data-type="Цветы" data-producer="Красный" class="item info_service categorya" data-bonus="Creativity">
                        <div class="icon_serv_3"></div>
                        <div class="text-info_serv yellow">
                            Желтый
                            <span>
                                <img class="img" src="img/efff1a8d116dc6e82c0305f918d96cc9.jpg">
                            </span>
                        </div>
                    </div> 
                </div>
            </div>  
        </section>
Добавлено через 7 часов 56 минут
Помогите пожалуйста(
Ответ:
Сообщение от vfifgfif
Помогите пожалуйста(
Ну так начните комментировать код построчно, там ясно станет.
Давайте я за вас начну, а дальше вы уж сами?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// документ загружен
$(document).ready(function() {
  // шаблон MVC видимо
  // тут V - view: представление
  var view = (function() {
    // объявление структуры с пустыми функциями здесь - overhead
    var structure = {
      showList: function() {},
      showOption: function() {}
    };
 
    structure.showList = function(list, status) {
      // пройтись по элементам list
      for (var i = 0; i < list.length; i++) {
        // если *хитрое условие*
        // TODO: extract conditions to functions
        // TODO: refactor smell code: if(true) a = true; else a = false;
        if ((list[i].dataset.type == status.type[0] || status.type[0] == 'all') &&
          (list[i].dataset.producer == status.producer[0] || status.producer[0] == 'all') &&
          (status.check.indexOf(list[i].dataset.bonus) != -1 || status.check.length == 0)) {
            // элемент списка показать
          list[i].hidden = false;
        } else {
          // иначе скрыть
          list[i].hidden = true;
        }
      }
    };
 
    structure.showOption = function (value) {
      var option = '<option>' + value + '</option>';
      return option;
    };
 
    return structure;
  })();
 
  // шаблон MVC
  // тут М - Model: модель
  var model = (function () {
    var module = {
      removeStatus: function() {},
      pushStatus: function() {},
      updateFilter: function() {}
    };
    // Э... по-идее элементам DOM место не тут, а в представлении
    var select1 = document.getElementById('selectType');
    var select2 = document.getElementById('selectProducer');
    var checkBox = document.getElementById('check').getElementsByTagName('input');
    var list = document.getElementsByClassName('item');
    var status = {
      check: [],
      type: ['all'],
      producer: ['all']
    };
 
    // Задать начальные сначение опций select`ов
    var loadFilter = function() {
      select1.innerHTML = '<option>all</option>';
      select2.innerHTML = '<option>all</option>';
      for (var i = 0; i < list.length; i++) {
        // Заполнить первый select
        // если в массиве status.type нет значения атрибута `data-type`
        // текущего элемента списка, то добавить это значение в массив
        // и добавить опцию к select
        if (status.type.indexOf(list[i].dataset.type) == -1) {
          status.type.push(list[i].dataset.type);
          select1.innerHTML += view.showOption(list[i].dataset.type);
        }
 
        // Аналогично первому условию, только проверяется атрибут `data-producer`
        if (status.producer.indexOf(list[i].dataset.producer) == -1) {
          status.producer.push(list[i].dataset.producer);
          select2.innerHTML += view.showOption(list[i].dataset.producer);
        }
      }
    };
    loadFilter();
 
    module.updateFilter = function() {
      // задать первый элемент массива `status.type` текстом выбранной опции
      // первого select
      status.type[0] = select1.options[select1.selectedIndex].text;
      // задать первый элемент массива `status.producer` текстом выбранной опции
      // второго select
      status.producer[0] = select2.options[select2.selectedIndex].text;
      // изменить видимость элементов списка согласно *хитрое условие*
      view.showList(list, status);
 
      // Ну и так далее...
Вопрос: Написать скрипт который по введенной дате будет вычислять количество дней по сегодняшнее число

Написать скрипт который по введенной дате будет вычислять количество дней по сегодняшнее число. Например: Ввели 20.04.2017, а сегодня 26.04.2017 значит прошло всего 6 дней. Вот мой код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<body>
<script type="text/javascript">
var year = parseInt(prompt('ВВЕДИТЕ ГОД'));
var month = parseInt(prompt('ВВЕДИТЕ НОМЕР МЕСЯЦА'));
var day = parseInt(prompt('ВВЕДИТЕ ДЕНЬ'));
var today = new Date();
var result = (today.getFullYear() - year) * 365 + (today.getDate() - day);
document.write("Всего "+result)
</script>
</head>
</body>
</html>
Ошибка в коде в том что при вычислении программа не считает високосный год. Т.е. если ввести к примеру 26.04.2015 то программа посчитает что всего прошло 730 дней хотя на самом деле 731. Как исправить?
Ответ: У вас тут ещё и месяц не учитывается.
Как вариант:
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<body>
<script type="text/javascript">
var year = prompt('ВВЕДИТЕ ГОД');
var month = prompt('ВВЕДИТЕ НОМЕР МЕСЯЦА');
if (month.length < 2) month = '0'+month;
var day = prompt('ВВЕДИТЕ ДЕНЬ');
if (day.length < 2) day = '0'+day;
var date = new Date(year+'-'+month+'-'+day);
var today = new Date();
var result = Math.floor((today.getTime() - date.getTime()) / 86400000);
document.write("Всего "+result)
</script>
</head>
</body>
</html>
Вопрос: Нужна помощь в расширении

добрый день профессорам яваскрипта)) Нужна помощь. Хочу разыграть человечка...

Сделал расширение, при нажатии меняется фон у сайта

chrome.tabs.executeScript({

code: 'document.body.style.backgroundColor="red"',

});

Но это работает лишь тогда, когда нажимаешь на расширение, а как сделать по таймеру? Чтобы он открыл сайт, а у него через 5 секунд цвет фона поменялся, как исключить нажатие на иконку, вообще не понимаю(((( Выручайте))))
Ответ:
Сообщение от espltd
когда нажимаешь на расширение
Скажи ему чтобы нажимал на расширение иногда и все наладится. А что делать, если расширение будет самостоятельно рисовать формы и менять урлы?