我有以下HTML:
<div class="col-md-10">
<input type="text" name="postcode" class="postcodeinput" />
</div>
<div class="col-md-2">
<a class="picklocation"><i class="fa fa-search" aria-hidden="true"></i>
</a>
</div>
当你点击“pickuplocation”时,我需要获得“postcodeinput”的值。
问题是页面上有多个邮政编码循环,因此我不能只使用$('.postcodeinput').val()
,因为有两个,并且两者都在同一个函数中处理。
我想要做的是找到最接近的元素.postcodeinput
并获取值。我尝试了以下jQuery:
$('.picklocation').click(function() {
var postcode = null;
console.log($(this).prev('.postcodeinput').val());
});
我试过这个,但是,我只是'未定义'
答案 0 :(得分:1)
您需要遍历postcodeinput
是picklocation
父元素的兄弟元素的子元素。
$('.picklocation').click(function() {
console.log($(this).parent().prev().find('.postcodeinput').val());
});
答案 1 :(得分:0)
我做了另一个解决方案。现在,在我制作片段之后,我意识到它看起来像是Satpal给的那个(你可以使用那个)。你应该使用我的解决方案,以防你的HTML发生变化,并希望更具体地了解在哪里寻找价值。
首先查找按钮的父级(即div),然后搜索具有子级.postcodeinput
的上一个元素(div)。
秒 <{1}}并获取它的价值
第三只有当该值不为空时...用它做某事(在这种情况下写入控制台)
.postcodeinput
&#13;
$('.picklocation').click(function() {
var postcode = $(this).parent("div").prev("div").has(".postcodeinput")
var postcodeVal = $(postcode).find('.postcodeinput').val();
if( postcodeVal != 0) {
console.log(postcodeVal);
}
});
&#13;