1

最後の行にデータを入力すると自動的に行が追加される HTML テーブルがあります。この自動生成のため、標準のタブ機能は機能しません。このテーブルの例をここで見ることができます。そのため、Shift-Tab または Tab が押されたときに、jQuery を使用して、最初の ant の最後の要素の親行に戻ります。コードは比較的単純です。. .

$(this).parents('tr').next('tr');

何をしても、$(this).parents('tr').index()常に 0 が返されます。したがってnext()、9 行目の最後のフィールドからタブを移動しても、常にテーブルの 2 行目にジャンプします。

何か案は?行を追加した後にテーブルのタブ インデックスを再構築する方法はありますか、または行が常にインデックスが 0 であると考える理由を誰かが知っていますか?

4

2 に答える 2

1

Sushanthの答えにコメントできなかったので、自分で答えます:

使用する必要があるのは次のとおりです。

$(this).closest('tr').index()

Shushanth のコードの問題は、テーブル内のすべての tr に一致する jQuery オブジェクトを index() に渡していることです。それがあればうまくいくでしょう(微妙な違い):

$(this).closest('tr').index('#tableid tr')

ここで私のフィドルを参照してください。

于 2013-08-09T08:37:25.240 に答える
0

使ってみてindex with a specific selector.

$tableRows = $('#tableid tr');

$currRow = $(this).closest('tr');

var index = $currRow.index($tableRows);
于 2013-08-08T22:16:09.803 に答える