Возможно ли?
ЕЕсть какой то период времени (который можно установить в полях с типом дата ), есть какие то компоненты даты (день недели, число, месяц, год), возможно ли найти все даты соответствующме указанным критериям, например пятница 13го, понедельник 1 января и тому подобное?
возможно ли отследить событие, когда изменили установленное значение в одном из элементов формы (c id day, id date, id month, id year) в остальных элементах значения очищались? <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title></title> <style> body { padding: 0 15px; } div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; } span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); } span.background { display: inline-block; background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); } #day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #stopdata, #startdata { width: 91px; height: 19px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); display: inline-block: text-align: center; } input, select { font: 14px serif; } input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; } input[type=date]::-webkit-calendar-picker-indicator { display: none; } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } input[type='number'] { -moz-appearance: textfield; } button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; } </style> <script> document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); </script> </head> <body> <div> <span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br> <select id="day"> <option value=""></option> <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="0">Воскресенье</option> </select><br/> <select id="date"> <option value=""></option> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08"> 8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select id="month"> <option value=""></option> <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> <option value="11">ноября</option> <option value="12">декабря</option> </select> <span class="background"> <input type="number" id="year"/> </span> <select id="type_year"> <option value="01" selected>любой</option> <option value="02">простой</option> <option value="03">высокосный</option> </select><br><br> <span class="text">Установите начало периода.</span><br> <input type="date" id="startdata"/><br/> <span class="text">Установите окончание периода.</span><br> <input type="date" id="stopdata"/><br><br> <button type="button">Начать поиск</button> <button type="reset">Удалить результат и введённые данные</button> </div> <div id="rezultat">display none </div> </body> </html> |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
рони,
другими словами, при первом изменении надо сбросить остальные значения и дать возможность пользователю ввести нужные ему, вместо того чтобы ввести нужные а остальные вручную очищать... |
Блондинка,
не знаю, не понимаю ваших вопросов и обьяснений. |
рони,
установлена сег. дата, если интересует например пятница 13го, то месяц и год надо очищать вручную, что можно сделать автоматически , сначала очистить и дать возможность ввести только нужные параметры... |
Блондинка,
не могу помочь. |
рони,
возможно ли отследить событие когда пользователь изменил значение, очистить присвоив атрибут селектед пустым опциям и удалить значение value у года, только один раз, при измении второго и последующих параметров очищать не надо, чтобы пользователь мог дальше вводить остальную часть параметров и/или начало/окончание периода |
Цитата:
Событие: change |
рони,
просто моих познаний недостаточно чтобы что-то понять |
Блондинка,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form action="http://"> <select onchange="var x = this.value;this.form.reset(); this.value = x"> <option value="">Выбор здесь сбросит остальные селекторы</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> <select> <option value="">Выберите что-нибудь</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> <select> <option value="">Выберите что-нибудь</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> </form> </body> </html> |
рони,
вот это именно то что нужно, только надо применить сразу ко всем селекторам и полю для года, только один раз, а при изменинии второго параметра не применять... |
рони,
я пытаюсь объяснить что неизвестно с какого элемента пользователь начнёт и в какой последовательности будет действовать... |
Цитата:
|
возможно ли один раз отследить событие во всех 4ех элементах, а после стирания прекратить отслеживать?
|
рони,
вот страНица <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title></title> <style> body { padding: 0 15px; } div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; } span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); } span.background { display: inline-block; background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); } #day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #stopdata, #startdata { width: 91px; height: 19px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); display: inline-block: text-align: center; } input, select { font: 14px serif; } input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; } input[type=date]::-webkit-calendar-picker-indicator { display: none; } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } input[type='number'] { -moz-appearance: textfield; } button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; } </style> <script> document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); </script> </head> <body> <div> <span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br> <select id="day"> <option value=""></option> <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="0">Воскресенье</option> </select><br/> <select id="date"> <option value=""></option> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08"> 8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select id="month"> <option value=""></option> <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> <option value="11">ноября</option> <option value="12">декабря</option> </select> <span class="background"> <input type="number" id="year"/> </span> <select id="type_year"> <option value="01" selected>любой</option> <option value="02">простой</option> <option value="03">высокосный</option> </select><br><br> <span class="text">Установите начало периода.</span><br> <input type="date" id="startdata"/><br/> <span class="text">Установите окончание периода.</span><br> <input type="date" id="stopdata"/><br><br> <button type="button">Начать поиск</button> <button type="reset">Удалить результат и введённые данные</button> </div> <div id="rezultat">display none </div> </body> </html> |
возможно ли при изменинии значений элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? |
???
|
???
|
возможно ли при событии onchange элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? вот страницы <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title></title> <style> body { padding: 0 15px; } div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; } span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); } span.background { display: inline-block; background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); } #day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #stopdata, #startdata { width: 91px; height: 19px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); display: inline-block: text-align: center; } input, select { font: 14px serif; } input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; } input[type=date]::-webkit-calendar-picker-indicator { display: none; } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } input[type='number'] { -moz-appearance: textfield; } button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; } </style> <script> document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); </script> </head> <body> <div> <span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br> <select id="day"> <option value=""></option> <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="0">Воскресенье</option> </select><br/> <select id="date"> <option value=""></option> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08"> 8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select id="month"> <option value=""></option> <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> <option value="11">ноября</option> <option value="12">декабря</option> </select> <span class="background"> <input type="number" id="year"/> </span> <select id="type_year"> <option value="01" selected>любой</option> <option value="02">простой</option> <option value="03">высокосный</option> </select><br><br> <span class="text">Установите начало периода.</span><br> <input type="date" id="startdata"/><br/> <span class="text">Установите окончание периода.</span><br> <input type="date" id="stopdata"/><br><br> <button type="button">Начать поиск</button> <button type="reset">Удалить результат и введённые данные</button> </div> <div id="rezultat">display none </div> </body> </html> |
возможно ли при событии onchange элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? вот страницы <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title></title> <style> body { padding: 0 15px; } div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; } span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); } span.background { display: inline-block; background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%)); background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); } #day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); } #stopdata, #startdata { width: 91px; height: 19px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); display: inline-block: text-align: center; } input, select { font: 14px serif; } input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; } input[type=date]::-webkit-calendar-picker-indicator { display: none; } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } input[type='number'] { -moz-appearance: textfield; } button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; } </style> <script> document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); </script> </head> <body> <div> <span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br> <select id="day"> <option value=""></option> <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="0">Воскресенье</option> </select><br/> <select id="date"> <option value=""></option> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08"> 8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select id="month"> <option value=""></option> <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> <option value="11">ноября</option> <option value="12">декабря</option> </select> <span class="background"> <input type="number" id="year"/> </span> <select id="type_year"> <option value="01" selected>любой</option> <option value="02">простой</option> <option value="03">высокосный</option> </select><br><br> <span class="text">Установите начало периода.</span><br> <input type="date" id="startdata"/><br/> <span class="text">Установите окончание периода.</span><br> <input type="date" id="stopdata"/><br><br> <button type="button">Начать поиск</button> <button type="reset">Удалить результат и введённые данные</button> </div> <div id="rezultat">display none </div> </body> </html> |
Цитата:
неужели нельзя добавить условие, чтобы эти компоненты даты показывались при загрузке страницы только до срабатывания события и после клика на кнопку очистить? надеюсь что сейчас понятно сформулирован вопрос... |
Цитата:
оберните всё в body в тег <form> ваши дивы сюда </form> и кнопка <button type="reset">Удалить результат и введённые данные</button> будет удалять данные без всякого скрипта. |
document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); |
Блондинка,
:-? |
рони
document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); 4,5,6 строчки присваивают селектед опциям для текущей даты 7 строка устанавливает в value текущий год 9 и 10 строки устанавливают первую и последнюю дату текущего года если убрать 4-7 строчки то селектед присвоится первым пустым опциям и год очистится или я не права? |
Цитата:
Цитата:
если вы ничего не присвоили, то останется то что было! что хотите сделать-то? |
Если ничего не присвоится то в селектах будут видны первые пустые опции вернее...
возможно ли сделать чтобы при загрузке страницы работали все строки, после внесения изменений в любой из [day, date, month, year, type_year] элементов, только 9, 10 строки, а после клика по кнопке очистить опять все строки... |
Блондинка,
не знаю, либо не понимаю. |
рони,
просто добавить функцию которая после события onchange в [...] элементах отменит присваивание (строка 4-7) а при клике на кнопку опять присвоит селектед и value... |
рони,
Может тут надо применить конструкцию if else if? Выводить сег. дату в элементах при загрузке страницы, при каждом событии onchange в элементах [day, date, month, year, type_year] проводить проверку, соответствуют ли введённые значения сег. дате и установлены ли селектед у обоих опций, если соответствует то показывать сег дату, если нет то присвоить селектед пустым опциям и удалить значение года наверное так понятно? P. S. проверять надо все пять элементов на соответствие... |
Блондинка,
я пас, я не понимаю, что вы пишите и хотите сделать. |
есть скрипт
document.addEventListener('DOMContentLoaded', function() { var d = new Date(); document.querySelector('#day').value = d.getDay() document.querySelector('#date').value = d.getDate(); document.querySelector('#month').value = d.getMonth()+1; document.querySelector('#year').value = d.getFullYear(); document.querySelector(#type_year) document.querySelector('#startdata').value = d.getFullYear() + '-01-01'; document.querySelector('#stopdata').value = d.getFullYear() + '-12-31'; }); есть элемент <select id="type_year"> <option>год любой</option> <option value="365">простой</option> <option value="366">высокосный</option> </select> как присвоить селектед опции у которой нету value? |
Блондинка,
document.querySelector('#type_year').value = "год любой"; //или так document.querySelector('#type_year').selectedIndex = 0; |
Цитата:
что именно тут непонятно? |
Блондинка,
не могу помочь. |
рони,
я не знаю как объяснить, именно потому что не знаю что именно непонятно один элемент потерял фокус, провели проверку, нашли несовпадение, установили селектед в этом элементе той опции которую выбрал пользователь, другим элементам присвоили селектед пустым опциям, при потере фокуса во втором элементе провели проверку, нашли несоответствие, установили селектед в обоих элементах опциям выбраннным пользователем а в остальных элементах пустым опциям также с третьим элементом и т.д. |
Блондинка,
я не знаю как это сделать. |
Ух, жесть. Нарисуйте макеты по каждому состоянию, иначе никуда не уедите.
|
рони,
а можно м»изменить html код <input type="date" id="startdata"> <input type="date" id="stopdata"> на <select id="startdata"></select> <select id="startmonth"></select> <input id="startyear"> <select id="stopdata"></select> <select id="stopmonth"></select>" <input id="stopyear"> и сделать как тут? <!DOCTYPE HTML> <html> <head> <title></title> <meta charset="utf-8"> <style type="text/css"> html{background: #fff;} body{width: 800px; margin: 20px auto; background: #ddd; padding: 20px; border: 1px solid} .empty{box-shadow: 0 0 10px #f00;} </style> <script> window.onload = function () { var day = new Date, md = (new Date(day.getFullYear(), day.getMonth() + 1, 0, 0, 0, 0, 0)).getDate(), $month_name = "января февраля марта апреля мая июня июля августа сентября октября ноября декабря".split(" "); function set_select(a, c, d, e) { var el = document.getElementsByName(a)[0]; for (var b = el.options.length = 0; b < c; b++) { el.options[b] = new Option(a == 'month' ? $month_name[b] : b + d, b + d); } el.options[e] && (el.options[e].selected = !0) } set_select("day", md, 1, day.getDate() - 1); set_select("month", 12, 1, day.getMonth()); set_select("year", 11, day.getFullYear()-10, 10); document.getElementsByName('hour')[0].value = day.getHours() document.getElementsByName('minute')[0].value = day.getMinutes() var year = document.getElementById('year'); var month = document.getElementById("month"); function check_date() { var a = year.value | 0, c = month.value | 0; md = (new Date(a, c, 0, 0, 0, 0, 0)).getDate(); a = document.getElementById("day").selectedIndex; set_select("day", md, 1, a) }; if (document.addEventListener) { year.addEventListener('change', check_date, false); month.addEventListener('change', check_date, false); } else { year.detachEvent('onchange', check_date); month.detachEvent('onchange', check_date); } } </script> </head> <body> <h3>Дата</h3> <form action="" method="post"> <select name="day" id="day"></select> <select name="month" id="month" ></select> <select name="year" id="year" ></select> <input type="text" name="hour" size="2" value=""> <input type="text" name="minute" size="2" value=""><br><br> <input type="submit" value="Go"> </form> </body> </html> |
Часовой пояс GMT +3, время: 01:55. |