#html #jquery #dom
#HTML #jquery #dom
Вопрос:
Я пытаюсь получить значение ввода после изменения поля выбора с помощью jQuery.
<div class="box">
<select class="howmuch">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<div class="box">
<p>Some Text</p>
</div>
<div class="box">
<input class="entertext" type="text" placeholder="type something" />
</div>
если пользователь изменит select-input (class = сколько), я хотел бы получить значение следующего текстового ввода (class = entertext).
<script>
$(".howmuch").change(function() {
var fetchtext = $(this).nextAll(".entertext:first").val();
// also tried .nextall("input:first")
});
</script>
всегда возвращает «undefined»
Кто-нибудь, кто может помочь?
Комментарии:
1. у select нет братьев и сестер. nextAll смотрит на братьев и сестер
2. @Christoph Если мой ответ решил ваш вопрос, пожалуйста, отметьте его как принятый.
Ответ №1:
Правильный способ перемещения по dom — это использование parent() , nextAll() и find() для поиска нужного вам входного значения.
$(".howmuch").change(function() {
var fetchtext = $(this).parent().nextAll().find(".entertext:first").val();
console.log(fetchtext);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box">
<select class="howmuch">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<div class="box">
<p>Some Text</p>
</div>
<div class="box">
<input class="entertext" type="text" placeholder="type something" />
</div>
Комментарии:
1. К вашему сведению, ваши ссылки и имена ссылок смешаны