Javascript.RU

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

Идентификация Checkbox
Доброго времени суток. Я начинаю изучать JS и у меня возникла проблема с идентификацией checkbox'a.

Задача заключалась в следующем:
Необходимо написать алгоритм, который при нажатии на кнопку "Button" будет создавать checkbox и добавлять его на веб-страницу. С этой задачей я справился, но потом мне понадобилось определить активен ли какой-то конкретный checkbox или нет. И вот с этим у меня проблемы. Я пытался добавить "имя" созданному checkbox с помощью метода checkbox.id, но у меня не вышло. Возможно, я делал что-то на так.
Вопрос: можно ли обратиться к конкретному checkbox'у, созданному с помощью нажатия на кнопку "Button", и можно ли узнать его состояние?

HTML
<button onclick="addCheckbox()">Button</button>
<br>


JS
// Функция, отвечающая за создание checkbox
function createCheckbox() {
	var checkbox = document.createElement("input")
	checkbox.type = "checkbox"
	return checkbox
}
 
// Функция, которая создает checkbox при нажатии на кнопку и добавляет его на веб-страницу 
	function addCheckbox() { 
	var checkbox = createCheckbox()
	document.body.append(checkbox)
}
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2021, 09:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

Сообщение от Terentiy
Я пытался добавить "имя" созданному checkbox с помощью метода checkbox.id, но у меня не вышло. Возможно, я делал что-то на так.
Покажите, что вы делали, тогда будет ясно, так или не так.

Последний раз редактировалось voraa, 12.05.2021 в 09:32.
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2021, 09:32
Новичок на форуме
Отправить личное сообщение для Terentiy Посмотреть профиль Найти все сообщения от Terentiy
 
Регистрация: 12.05.2021
Сообщений: 4

Сообщение от voraa Посмотреть сообщение
Покажите, что вы делали, тогда будет ясно, так или не так.
// Функция, отвечающая за создание checkbox
function createCheckbox() {
	var i = 1;
	var checkbox = document.createElement("input")
	checkbox.type = "checkbox"
	checkbox.id = `${i}`
	var i = ++i
	return checkbox
}
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2021, 09:40
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

У вас при вызове createCheckbox каждый раз создается локальная переменная i. И она каждый раз получает значение 1.
Все созданные элементы будут иметь id='1'
Надо вынести i функции
let checkboxNumber = 0;
function createCheckbox() {
    var checkbox = document.createElement("input")
    checkbox.type = "checkbox"
    checkbox.id = `${++checkboxNumber}`
    return checkbox
}
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2021, 09:42
Новичок на форуме
Отправить личное сообщение для Terentiy Посмотреть профиль Найти все сообщения от Terentiy
 
Регистрация: 12.05.2021
Сообщений: 4

Сообщение от voraa Посмотреть сообщение
У вас при вызове createCheckbox каждый раз создается локальная переменная i. И она каждый раз получает значение 1.
Все созданные элементы будут иметь id='1'
Надо вынести i функции
let checkboxNumber = 0;
function createCheckbox() {
    var checkbox = document.createElement("input")
    checkbox.type = "checkbox"
    checkbox.id = `${++checkboxNumber}`
    return checkbox
}
Я догадывался, что в этом проблема, но не мог придумать как можно вынести это за функцию.
Ответить с цитированием
  #6 (permalink)  
Старый 12.05.2021, 09:44
Новичок на форуме
Отправить личное сообщение для Terentiy Посмотреть профиль Найти все сообщения от Terentiy
 
Регистрация: 12.05.2021
Сообщений: 4

Сообщение от voraa Посмотреть сообщение
У вас при вызове createCheckbox каждый раз создается локальная переменная i. И она каждый раз получает значение 1.
Все созданные элементы будут иметь id='1'
Надо вынести i функции
let checkboxNumber = 0;
function createCheckbox() {
    var checkbox = document.createElement("input")
    checkbox.type = "checkbox"
    checkbox.id = `${++checkboxNumber}`
    return checkbox
}
Спасибо большое
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить значение checkbox, установить те, которые не установлены lavelina Элементы интерфейса 6 27.03.2019 14:43
Калькулятор стоимости услуг. Nik_Dev Элементы интерфейса 4 03.05.2018 16:50
Калькулятор с вариантом значений. dzho Общие вопросы Javascript 45 06.08.2017 03:54
Как правильно организовать обработку большого кол-ва checkbox? pashin76 jQuery 6 06.04.2017 21:51
checkbox = checkbox Слейп jQuery 2 30.01.2013 15:24