Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2021, 22:05
Новичок на форуме
Отправить личное сообщение для Levvarrr Посмотреть профиль Найти все сообщения от Levvarrr
 
Регистрация: 14.12.2021
Сообщений: 5

Как узнать тип объекта по его id?
Всем привет!
Я прям очень начинающий и не могу разобраться в одном моменте.
У меня есть большая таблица с целой кучей текстовых полей и чекбоксов.
Пример HTML
<input type="number" id="2" step="1" min="0" max="250">
<input type="checkbox" id="3">

Используя Json я заполняю все поля и ставлю галки.
Вот таким методом:
var dataPars = JSON.parse(o.responseText);
      for (var key in dataPars) {
         if (key=="3") {
            if (dataPars[key] > 0)
               document.getElementById(key).checked = true;
         }
         else document.getElementById(key).value = dataPars[key];
      }

Сам Json
Код:
{
  "2": 102,
  "3": 3
}
Все упирается в ID элемента. Он должен быть обязательно числом.
И вот встает вопрос. Если у меня много checkbox то это получается нужно прописывать каждый индекс в if.
А есть ли способ узнать какого типа объект скрывается под id?
Что бы вписать в условие (для checkbox).

Возможно я гаражу огород и это можно сделать как то проще.... не знаю. Примеров конкретных в интернете найти не смог с таким видом исключения.
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2021, 22:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Levvarrr,
for (let key in dataPars) {
            let input;
            let {type} = input = document.getElementById(key);
            if(type === "checkbox") input.checked = dataPars[key] > 0;
            else input.value = dataPars[key];
        }

Последний раз редактировалось рони, 15.12.2021 в 13:15. Причина: let input;
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2021, 08:15
Новичок на форуме
Отправить личное сообщение для Levvarrr Посмотреть профиль Найти все сообщения от Levvarrr
 
Регистрация: 14.12.2021
Сообщений: 5

ГЕНИАЛЬНО!
Большое спасибо! Работает!
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2021, 11:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

рони, input у тя глобальный теперь, классика.)
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2021, 13:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Aetae,
добавил let input;

Последний раз редактировалось рони, 15.12.2021 в 13:16.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по таймеру (как узнать его остаток) dyitlovent Общие вопросы Javascript 0 05.06.2019 18:12
Как узнать все поля объекта? ptree Общие вопросы Javascript 5 05.03.2014 11:41
Как вставить изображение из объекта new Image в тег <img Danxil Общие вопросы Javascript 1 11.11.2013 10:34
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00