Получить (ТОЛЬКО) идентификатор поля ввода, используя .getAttribute - PullRequest
1 голос
/ 14 января 2020

У меня есть список флажков, которые имеют уникальные идентификаторы. Когда кнопка нажата, она должна передать этот список идентификаторов до конца. Я могу получить идентификаторы, используя метод .getAttribute, но он включает другую информацию, которая мне не нужна. Есть ли способ получить ТОЛЬКО идентификатор выбранного флажка?

Вот базовый c код, который срабатывает при нажатии кнопки:

            $('input[name = "dCodes"]:checked').each(function () {
                selectedCodes.push($(this.getAttribute('id')));
            });

Вот что Массив selectedCodes содержит после нажатия кнопки: enter image description here

Ответы [ 3 ]

1 голос
/ 14 января 2020

Если вы только хотите строку id, то не помещайте объект sh a jQuery в массив:

let selectedCodes = [];
$('input[name="dCodes"]:checked').each(function () {
  selectedCodes.push(this.getAttribute('id'));
});

Обратите внимание, что это может упростить процесс извлечения свойства id непосредственно из ссылки this без необходимости getAttribute():

let selectedCodes = [];
$('input[name="dCodes"]:checked').each(function () {
  selectedCodes.push(this.id);
});

Пойдя еще дальше, вы можете устранить необходимость явного each() l oop и отдельное объявление массива с использованием jQuery 'map() метода:

let selectedCodes = $('input[name="dCodes"]:checked').map(function () {
  return this.id;
}).get();
0 голосов
/ 14 января 2020

this должен быть заключен.

selectedCodes.push($(this).attr('id'));
0 голосов
/ 14 января 2020

Вам нужно использовать selectedCodes.push($(this).attr('id')));, чтобы получить только значение id в этом массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...