Как при клике на элемент скопировать его текст в input value?
К примеру, есть вот такая HTML конструкция с одинаковыми селекторами:
<div class="text-wrap">
<div class="text-item">
Текст 1
</div>
<div class="text-item">
Текст 2
</div>
<div class="text-item">
Текст 3
</div>
<div class="text-item">
Текст 4
</div>
</div>
<div class="input-wrap">
<input id="input" type="text" value="Текст 1">
</div>
Как при клике на элемент с классом text-item скопировать его содержимое в поле #input?
Ответы (1 шт):
Автор решения: De.Minov
→ Ссылка
Вариант на JS
document.querySelector('.text-wrap').addEventListener('click', function(event) {
let textItem = event.target.closest('.text-item');
if(textItem) {
document.querySelector('#input').value = textItem.textContent;
}
});
<div class="text-wrap">
<div class="text-item">Текст 1</div>
<div class="text-item">Текст 2</div>
<div class="text-item">Текст 3</div>
<div class="text-item">Текст 4</div>
</div>
<div class="input-wrap">
<input id="input" type="text" value="Текст 1">
</div>
Вариант на JQ
$('.text-wrap').on('click', '.text-item', function(){
$('#input').val($(this).text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="text-wrap">
<div class="text-item">Текст 1</div>
<div class="text-item">Текст 2</div>
<div class="text-item">Текст 3</div>
<div class="text-item">Текст 4</div>
</div>
<div class="input-wrap">
<input id="input" type="text" value="Текст 1">
</div>