Jquery find nearest matching element
I have a series of rows with columns and I want to select the value of an input
field that is in a previous column to the input
field (price input) that I am calling a function on when a key is released.
I have tried:
quantity = $(this).parent().parent().children().val() ;
quantity = $(this).parent().parent().children().closest('.inputQty', this).val() ;
But neither work.
An example of the DOM:
<div class="row">
<div class="column"><input class="inputQty" id="quantity0" /></div>
<div class="column"><input class="someOther" id="Other0" /></div>
<div class="column">
<div class="cSelect">
<select id="currency0"><option>£</option></select>
<input class="price" id="price0" />
</div>
</div>
</div>
Solution 1:
var otherInput = $(this).closest('.row').find('.inputQty');
That goes up to a row level, then back down to .inputQty
.
Solution 2:
closest()
only looks for parents, I'm guessing what you really want is .find()
$(this).closest('.row').children('.column').find('.inputQty').val();