72

我有一系列带列的行,我想选择在释放键时调用函数的字段(价格输入)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>
4

4 回答 4

158
var otherInput = $(this).closest('.row').find('.inputQty');

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

于 2012-08-01T09:43:05.237 回答
14

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

$(this).closest('.row').children('.column').find('.inputQty').val();
于 2012-08-01T09:42:44.763 回答
1

获取元素的.columnthis元素,获取其上一个兄弟元素,然后在那里找到任何输入:

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

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

于 2012-08-01T09:42:23.940 回答
0

你可以试试:

$(this).closest(".column").prev().find(".inputQty").val();

于 2012-08-01T09:42:36.493 回答