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

要素の.column親をthis取得し、その前の兄弟を取得して、そこに入力を見つけます。

$(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 に答える