入力フィールドのあるデータテーブルがあります。ユーザーがフィールドに入力したとき、入力した行番号を見つける必要があります。以前に質問し、良い回答を得ましたが、データテーブルが応答性があり、フィールドがポップアップ内にある場合、回答は機能しなくなります。
これは私のコードです:
リーリー リーリーこのコードを十分な大きさのウィンドウで実行すると、正常に動作します。ただし、ウィンドウを縮小して右側の列が応答的にサブ行に入るようにすると、行インデックスを検索するコードは機能しなくなります。
子セルの行を正しく見つけるにはどうすればよいですか?
.row($(this).closest("td")).index()
が定義されていない場合は、table.api().row(this).index( )
。奇妙なことに、
table.api().row(this)
は元の行ではなく、展開された行に対してのみ機能するため、元の行を取得するには .closest("td") を使用し続ける必要があります。具体的には、
は次のようになります:table.api().row(...)
は jQuery オブジェクトを返すため、行が返されたかどうかを確認するには、.length === 0## を確認してください。 #。
リーリー
その後、.index()
更新されたコードスニペット:により、期待される行インデックスが得られます。