@alexei_2002

Почему не распознается переменная при ее подстановке в строку?

Пробовал несколько вариантов, во всех случаях возвращает undefined

i = 1;
tempvar_surname = $(`.c_ipt_surname${i}`).val();

tempvar_surname = $('.c_ipt_surname'+i).val();

tempvar_surname = $('.c_ipt_surname'+(i)).val();
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
ZerdoX-x
@ZerdoX-x
Frontend developer influenced by web, a11y, crypto
Первый вариант правильный. Что именно у тебя возвращает undefined? Функция val()?

Попробуй задебажить это поэтапно:
  1. Создай константу в которой будет хранится строка с нужным тебе селектором:
    const selectorString = `.c_ipt_surname${i}`
    console.log({ selectorString })

  2. Получи DOM элемент:
    const surnameElement = $(selectorString)
    console.log({ surnameElement })

  3. Получи значение, которое ввёл юзер:
    const surname = surnameElement.val()
    console.log({ surname })


Последним пунктом я бы посоветовал выпилить jq и больше никогда им не пользоваться. Но этот пункт слишком opionated, я не стал его включать.
Ответ написан
@alexei_2002 Автор вопроса
Решение вопроса:
Необходимо было использовать id
tempvar_surname = $(`#ipt_surname${i}`).val();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы