Задать вопрос
@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();
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 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();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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