0

入力から同じクラスの次の入力にジャンプする方法を探しています。フォーム内の入力は、互いにチェーンする必要があります (すべてではなく一部)。これは、レイアウトが単純な場合は非常に簡単に実行できますが、レイアウトは変更される可能性があり、変更されるため、parent() -> next() のようなことを行うのが難しくなります。したがって、最初の要素に戻らずに同じクラスのフォーム/レイアウトで次の入力を見つける方法 (それらをループしたくない)。

フォームコード (アイデアを提供するための例)

<form>
    <div>
        <input type="text" class="chainme"/>
    </div>
    <div>
        <input type="text"/>
    </div>
    <div>
        <input type="text"/>
    </div>
    <div>
        <div>
            <input type="text" class="chainme"/>
        </div>
        <div>
            <input type="text" class="chainme"/>
            <div>
                <input type="text"/>
                <input type="text" class="chainme"/>
            </div>
        </div>
    </div>
</form>
4

2 に答える 2

2

これについて私が考えることができる最も簡単な手段は、次のようなものです。

$('form').on('keypress','input',function(e){
    var eClassName = this.className,
        index = $(this).index('.' + eClassName) + 1;
    if (e.which === 13){
        e.preventDefault();
        $('input.' + eClassName)
            .eq(index)
            .focus();
    }
});​

JS フィドルのデモ

これは、キーを押して同じクラスEnterの次のクラスに移動することを前提としています。inputまた、要素のクラスは 1 つだけです。

参考文献:

于 2012-06-18T17:16:50.603 に答える
0

jQuerynext()を使用すると、セレクターを渡すことができます。これにより、最初に戻らずに、必要なクラスのみにセレクターが制限されます。

于 2012-06-18T17:11:03.803 に答える