Как передать значение из инпута в объект jQuery при событии change?
Внутри $singleDesignWrapper находится инпут. Мне нужно получить значение этого инпута при событии change и поместить его в содержимое <p class="sidebar-design-name"></p>.
Что-то похожее сделано в строке:
$('.sidebar-design-number', $element).text('Дизайн ' + (i+1)); |
$('.sidebar-design-number', $element).text('Дизайн ' + (i+1));
В общем, цель такова:
есть вложенные формы дизайнов, и мне нужно динамически заполнять значения в sidebar из инпута, находящегося в .field-name-field-design-name. Инпут не является прямым потомком .field-name-field-design-name.
Код:
const $singleDesignWrapper = $( ".field--name-field-design .field--name-field-design-name" ); $singleDesignWrapper.each(function(i) { console.log($(this)); // Объект, куда мне нужно поместить значение const $element = $('<div class="sidebar-designs-wrapper">n' + ' <div class="sidebar-single-design-container">n' + ' <div class="sidebar-design-number-and-name">n' + ' <p class="sidebar-design-number"></p>n' + ' <p class="sidebar-design-name"></p>n' + ' </div>n' + ' <p class="sidebar-garments-locations-count"></p>n' + ' </div>n' + '</div>'); $('.sidebar-design-number', $element).text('Design ' + (i+1)); $sidebarDesignsWrapper.append($element); }); |
const $singleDesignWrapper = $( ".field--name-field-design .field--name-field-design-name" ); $singleDesignWrapper.each(function(i) { console.log($(this)); // Объект, куда мне нужно поместить значение const $element = $('<div class="sidebar-designs-wrapper">n' + ' <div class="sidebar-single-design-container">n' + ' <div class="sidebar-design-number-and-name">n' + ' <p class="sidebar-design-number"></p>n' + ' <p class="sidebar-design-name"></p>n' + ' </div>n' + ' <p class="sidebar-garments-locations-count"></p>n' + ' </div>n' + '</div>'); $('.sidebar-design-number', $element).text('Design ' + (i+1)); $sidebarDesignsWrapper.append($element); });
console.log($(this));показывает четыре объекта.
console.log($(this).length); === 1
HTML выглядит так::
<div class="sidebar"> <div class="button-container current-step"></div> <div class="sidebar-designs-wrapper"> <div class="sidebar-single-design-container"> <div class="sidebar-design-number-and-name"> <p class="sidebar-design-number"></p> <p class="sidebar-design-name"></p> </div> <p class="sidebar-garments-locations-count"></p> </div> </div> <div class="main"> <div class="field--name-field-design"> <div class="field--name-field-design-name"> <div class="js-form"> <input type="text" value="hello"> </div> </div> </div> <div class="field--name-field-design"></div> </div> |
<div class="sidebar"> <div class="button-container current-step"></div> <div class="sidebar-designs-wrapper"> <div class="sidebar-single-design-container"> <div class="sidebar-design-number-and-name"> <p class="sidebar-design-number"></p> <p class="sidebar-design-name"></p> </div> <p class="sidebar-garments-locations-count"></p> </div> </div> <div class="main"> <div class="field--name-field-design"> <div class="field--name-field-design-name"> <div class="js-form"> <input type="text" value="hello"> </div> </div> </div> <div class="field--name-field-design"></div> </div>
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для передачи значения из инпута в объект jQuery при событии change, вам следует использовать метод val() для получения значения из инпута и метод text() или html() для установки этого значения в ваш объект jQuery.
Пример кода на jQuery:
$(document).ready(function() { $('#inputId').on('change', function() { var value = $(this).val(); $('#yourObject').text(value); // или $('#yourObject').html(value); }); });
В данном примере #inputId - это id вашего инпута, а #yourObject - это селектор вашего объекта jQuery, куда вы хотите передать значение из инпута.
Когда значение в инпуте изменяется (событие change), мы получаем его с помощью метода val() и затем устанавливаем это значение в объект jQuery с помощью метода text() или html(), в зависимости от того, какой тип содержимого у вашего объекта.
Таким образом, вы сможете передавать значение из инпута в объект jQuery при событии change и динамически обновлять содержимое вашего объекта на странице.