Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2019, 13:11
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

console.log добавить массив
что я делаю не так, часа три пытаюсь разобраться но не получается...

var d = new Date(); var day = ['7','1','2','3','4','5','6'], console.log(day) document.querySelector('#day').options[d.getDay()].
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2019, 13:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Besprizornik,
а зачем тут массив?
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2019, 13:30
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

я хочу чтобы в последующем можно было при определенных событиях или условиях можно было присвоить option value="0" selected...
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2019, 13:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А для чего вы создавали эту тему https://javascript.ru/forum/dom-wind...-new-post.html ?

Ведь в ней у вас день недели, это список с семью опциями, где вторая первый день недели, а последняя последний, а день недели возвращается с воскресенья, то есть это будут значения от 0 до 6. А отметить опцию начиная с дня нашей недели, это значит отметить так:

....options[d.getDay()||7]

Зачем это делать через массив?
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2019, 13:47
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

я только пытаюсь учиться и что-то понять,
хочу попытаться сделать чтобы воскресенью присвоить 7 порядковый номер
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2019, 14:06
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

или же надо просто ....options[d.getDay()|8] и добавить ещё один тег option?
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2019, 14:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Besprizornik
хочу попытаться сделать чтобы воскресенью присвоить 7 порядковый номер
Ну а я вам что показываю? В вашей предыдущей теме все работает, показывает воскресенье, хотя опция в списке имеет индекс равный 7?

Это и обеспечивается простым выражением

N = A || B,

если булево значение А возвращает true, то N будет равно А, иначе В.

Следовательно для всех дней недели возвращенным функцией d.getDay(), для значение от 1 до 6, это значение и будет возвращаться, а для воскресенья равного 0 (булево значение false), будет возвращено 7:

....options[от 1 до 6 или 7 для воскресенья]

вот и все.
Ответить с цитированием
  #8 (permalink)  
Старый 03.03.2019, 14:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Besprizornik
или же надо просто ....options[d.getDay()|8] и добавить ещё один тег option?
Зачем? Зачем вы вообще создали эту тему в отрыве от основной?

У вас список

<select class="day" 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="7">Воскресенье</option>
</select>


Значит опции имеют индексы от 0 до 7 - восемь опций. Значит возвращенный день недели и будет выбирать начиная со второй, а 0 воскресенья заменяем на 7, для индекса восьмой опции.

Если требуется список без пустой опции в начале, то нужно ....options[(d.getDay()||7)-1]

И не | а ||

Ознакомится и изучить https://learn.javascript.ru/logical-ops , это не сложно для уяснения.

Последний раз редактировалось laimas, 03.03.2019 в 15:16.
Ответить с цитированием
  #9 (permalink)  
Старый 03.03.2019, 15:16
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

<select class="day" id="day">
<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>
<option value=""></option>
</select>


вот список, скрипт просто показывает сегодняшний день недели, в дальнейшем надо будет показать что нельзя высчитать день/дату, для этого и есть пустая опция, которой присвоиться selected
Ответить с цитированием
  #10 (permalink)  
Старый 03.03.2019, 15:26
Кандидат Javascript-наук
Отправить личное сообщение для Besprizornik Посмотреть профиль Найти все сообщения от Besprizornik
 
Регистрация: 24.02.2019
Сообщений: 126

у поля ввода указаны шаг step="1" и мин макс значения max="2400" скрипт не должен показывать даты после 2400 года, а показывать пустые опции
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить форму которая будет добавлять данные в массив. olelukoie Элементы интерфейса 16 19.12.2018 17:25
Нужно перебрать элементы добавить их в массив и добавить к элементам класс Сергей_FE Оффтопик 8 30.08.2015 17:06
Как добавить данные в глобальный массив из функции Jigan2 jQuery 2 14.03.2015 18:06
добавить массив в объект zloctb Общие вопросы Javascript 3 14.01.2012 14:16
Рекурсивно добавить в массив Nightmare Общие вопросы Javascript 12 15.09.2011 17:07