函数不适用于输入

函数不适用于输入

我有这样的HTML

<input type="text" class="q" placeholder="search nearby">
<input type="hidden" name="lat" class="lat" value="123">
<input type="hidden" name="lon" class="lon" value="456">
<input type="submit" value="Go" class="btn btn-xs btn-primary btn-go">


我想通过单击lat/lon/q获取类btn-go的值。我知道我们可以使用最接近的方式做到这一点,但是我却无法实现。

我的JS

$(document).on('click', '.btn-go', function(){
        var lat_value = $(this).closest('input').find('.lat').val();
        var lon_value = $(this).closest('input').find('.lon').val();
        var q_value = $(this).closest('input').find('.q').val();

        alert(lat_value + lon_value + q_value);
    });

最佳答案

使用siblings



$(document).on('click', '.btn-go', function() {
  var lat_value = $(this).siblings('.lat').val();
  var lon_value = $(this).siblings('.lon').val();
  var q_value = $(this).siblings('.q').val();

  alert(lat_value + lon_value + q_value);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="q" placeholder="search nearby">
<input type="hidden" name="lat" class="lat" value="123">
<input type="hidden" name="lon" class="lon" value="456">
<input type="button" value="Go" class="btn btn-go btn-xs btn-primary b">

关于javascript - .closest()函数不适用于输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53213849/

10-11 12:15