Как подставить значение из переменной что-бы получить элемент?
Есть следующий код:
var form = $('#directory-contact-form-create');
в этой переменной находится объект:
`<div id="modal"><form id="directory-contact-form-create">...</form></div>`
который далее используется как:
form.on('beforeSubmit', function() { ...})
Так все работает, но поскольку ID формы бывает разный то я могу найти ID формы по родительскому ID блока div, который всегда одинаков:
var form2 = $('#modal').find('form').attr('id');
//здесь переменная = текст (id формы)
Так вот, как мне подставить ID формы в переменную, чтобы получить объект?
т.е. чтобы:
var form = $('#directory-contact-form-create');
было равнозначно:
var form = $('#form2');
//здесь нужно получить объект зная id формы
Ответы (3 шт):
Вы уверены, что вам обязательно нужно получать id? Может быть вам поможет просто использовать такой селектор?
$('#modal form');
Как мне подставить
idформы в переменную, чтобы получить объект?
Что бы "получить" нужный элемент из атрибута достаточно:
const attr = $("#modal").find("form").attr("id")
const form = $("#" + attr)
Из вашего вопроса выходит 2 решения:
$('#modal').find('form') - это и есть ваша форма.
Либо использовать простую конкатенацию строк:
var form = $('#modal').find('form');
// Или же
var form = $('#' + $('#modal').find('form').attr('id'));