Доступ к элементу через $this
Всем привет. Есть такая верстка
<div class="row align-items-center cover" data-id="<?echo $item['id'];?>">
<div class="col-6">
<div class="inputblock">
<div class="icon text"></div>
<input class="input-text" value="<?echo $item['text']?>" name="text" type="text"
required="required">
</div>
</div>
</div>
Как получить значение val input следующего за .text, нужно через This, т.к. эти блоки повторяются. Пробуй вот так не срабатывает.
$(document).ready(function () {
var itemInput = '.input-text';
var itemDel = $('.text');
itemDel.click(function(e){
var $this = $(this);
var $thisInput = $this.closest(itemInput);
console.log($thisInput.val);
});
});
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Во-первых не closest, а next. Во-вторых: не val, а val()
$(document).ready(function () {
var itemInput = '.input-text';
var itemDel = $('.text');
itemDel.click(function(e){
var $this = $(this);
var $thisInput = $this.next(itemInput);
console.log($thisInput.val());
});
});
.icon.text {
width: 10px;
height: 10px;
border: 1px solid blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div class="row align-items-center cover" data-id="<?echo $item['id'];?>">
<div class="col-6">
<div class="inputblock">
<div class="icon text"></div>
<input class="input-text" value="<?echo $item['text']?>" name="text" type="text"
required="required">
</div>
</div>
</div>