Jquery 查找最近的匹配元素

我有一系列带有列的行,我想选择 input字段的值,该字段位于前一列的 input字段(价格输入) ,当键被释放时,我正在对该字段调用函数。

我试过了:

quantity = $(this).parent().parent().children().val() ;
quantity = $(this).parent().parent().children().closest('.inputQty', this).val() ;

但都不是工作。

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>
198164 次浏览

获取 this元素的 .column父元素,获取它的前一个兄弟元素,然后在那里找到任何输入:

$(this).closest(".column").prev().find("input:first").val();

演示: http://jsfiddle.net/aWhtP/

你可以试试:

$(this) . close (“ . column”) . prev () . find (“ . inputQty”) . val () ;

closest()只看父母,我猜你真正想要的是 .find()

$(this).closest('.row').children('.column').find('.inputQty').val();
var otherInput = $(this).closest('.row').find('.inputQty');

它上升到一个行级别,然后回到 .inputQty