2012-02-14 17 views
2

使用して表の行に複数のドロップダウンコントロールの外にドロップダウンコントロールを取得します。私はこの奇妙なシナリオを持っているjQueryの

私は複数の行(各ボタンのクリック時に動的に生成された)を有するテーブルを持っています。

各行にはこれらがあります。

| ======= | | ======= | | ======= | | ======= |

どこ| ======= | HTMLページ

に選択コントロール(ドロップダウン)を表し今は一意コントロールを識別する、1.select1を言う、1.select2、1.select3と1.select4行番号1のため

問題は行が途中から削除される可能性があることです。だから、私はそれぞれの選択制御は、xは固有の番号であるx.select1、x.select2、x.select3、x.select4のような別々見つめ値を持っていると思います。

私はx.select1をクリックしたときに私がx.select2言うアクセスできる方法はありますか?そのため

I一意セレクトコントロール(行単位)の各セットに名前を付ける必要があります。

答えて

0

selecttd自身の中にある、あなたはそれを見つけるために:eq selectorを使用することができますと仮定:

function get_select(tr_idx, td_idx) { 
    return $('table tr:eq('+tr_idx+') td:eq('+td_idx+') select'); 
} 

あなたは選択を持っているし、次のいずれかをしたい場合は、あなたが行うことができます:

function get_next_select(sel) { 
    return sel.parent('td').next('td').find('select:first'); 
} 
+0

前のtrのどのドロップダウンリストにアクセスすることができますか?各コントロールは、trで別々のtdにあります。以前のtrで数値(x)を取得する必要があるので、ドロップダウンにx + 1という名前を付けることができます。私はそれを説明できることを願っています。 – Anupam

+0

以前のtrのどのドロップダウンリストにアクセスできるか教えていただけますか?各コントロールは、trで別々のtdにあります。以前のtrで数値(x)を取得する必要があるので、ドロップダウンにx + 1という名前を付けることができます。私はそれを説明できることを願っています。 – Anupam

+1

'.parent'の代わりに' .closest'を使って、セレクタとマッチする要素の最初の祖先を取得し、 '.prev()'や '.prev( 'tr')'を実行します。親 'tr'の' td'のインデックスを取得するには 'sel.parent( 'td').index()'を使います。現在の 'select'のすぐ上に' select'を取得するには、両方を使用します。 – ori

関連する問題