#javascript #html #selector
#javascript #HTML #селектор
Вопрос:
function handleUser(activeMenu, user) {
$('#accordion').html("");
$.each(user, (index, user) => {
$('#accordion').append(
<input class="control" id="a${user.userId}" value=${user.name}></input>
<input class="control" id="b${user.userId}" value=${user.email}></input>
<input class="control" id="c${user.userId}" value=${user.phone}></input>
<input class="control" id="d${user.userId}" value=${user.address}></input>
<button class="info-actions" id="${user.userId}">
save
</button>)});}
^ приведенный выше код отлично извлекает данные из базы данных.
Однако, чтобы сохранить…. Мне нужно получить каждое значение.
function handleInfo() {
$('#accordion').on('click','.info-actions',(event) => {
let target = $(event.target).attr('id');
console.log(target);
//this prints the id fine.
//let x = $('.control').attr('value');
//let x = $(`#a${target}`);
//let x = $(`#a${target}`);
//let x = $('#a${target}').val();
console.log(x);
//..... then going to use ajax to connect controller.(Which I can handle)
})}
Я перепробовал много способов…
Не уверен, как получить значения для каждого идентификатора, используя цель.
Комментарии:
1. Не могли бы вы показать нам, что вы пробовали?
2. //пусть x = $(‘.control’).attr(‘значение’); //пусть x = $(
#a${target}
); //пусть x = $(#a${target}
); //пусть x = $(‘#a${target}’).val();3. вместо таргетинга по id вы можете запрашивать их по их тегу… что-то вроде
$(this).children('input').forEach()
4. $(this) <— ссылается на? У нескольких пользователей есть свое имя, электронная почта, телефон и адрес. Я устанавливаю id в $ {user.userId}, чтобы у каждого пользователя был свой идентификатор ввода для своего имени и т.д…
Ответ №1:
Я думаю, что у него были некоторые проблемы с идентификаторами, имеющими пробелы / и т.д. Между ними или что-то в этомроде.
Я нашел обходной путь для решения проблемы.
Просто используется:
var name = "a" target;
var nameVal = document.getElementById(name).value;
и т.д.