Функция .closest () не работает для входных данных - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть 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);
    });

1 Ответ

0 голосов
/ 08 ноября 2018

Использование 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">
...