0

私はテーブルを持っています

<table>
<tr><td><input radio name="R1" onClick=getOtherColumnData()>first</td><td>TR1-TD2</td><td>TR1-TD3</td><td>TR1-TD4</td></tr>
<tr><td><input radio name="R1" onClick=getOtherColumnData()>Second</td><td>TR2-TD2</td><td>TR2-TD3</td><td>TR2-TD4</td></tr>
<tr><td><input radio name="R1" onClick=getOtherColumnData()>first</td><td>TR3-TD2</td><td>TR3-TD3</td><td>TR3-TD4</td></tr>
</table>

さて、ラジオボタンをクリックすると、他の列のデータを取得する方法は? 私は使用しようとしています

$(td)('nth-child(3) div').text();

しかし、それはすべての行の3番目のTDデータを返していますが、ラジオボタンがクリックされた特定の行に戻りたいだけです。

お世話になりました!

ニレッシュ

4

2 に答える 2

1

すでに jQuery を使用しているのであれば、jQuery を使用してクリック ハンドラーをバインドしてみませんか? 次に、ハンドラー内でthisクリックされたラジオが参照され、それが配置されている行が表示されます。インデックスまたはその他のセレクターで特定のセルを選択する場合は、$(this).closest("tr")そこから使用したり、その行の他のセルを取得し.find()たりできます。 .children(). または$(this).parent()、ラジオが入っているセル$(this).parent().siblings()を取得し、行内の他のセルを取得するために使用できます。

$('input[name="R1"]').click(function() {
    var $tr = $(this).closest("tr"),
        cell3content = $tr.children().eq(2).text();  // get content of third cell
    // or
    var $allOtherCellsInRow = $(this).parent().siblings();
});
于 2012-04-06T23:15:58.907 に答える
0

this他の列のデータを取得できるよりも、関数にパラメーターを渡す必要があります。

<table>
<tr><td><input type="radio" name="R1" onClick=getOtherColumnData(this)>first</td><td>TR1-TD2</td><td>TR1-TD3</td><td>TR1-TD4</td></tr>
<tr><td><input type="radio" name="R1" onClick=getOtherColumnData(this)>Second</td><td>TR2-TD2</td><td>TR2-TD3</td><td>TR2-TD4</td></tr>
<tr><td><input type="radio" name="R1" onClick=getOtherColumnData(this)>first</td><td>TR3-TD2</td><td>TR3-TD3</td><td>TR3-TD4</td></tr>
</table>

<script>
function getOtherColumnData(e) {
   $(e).parent().siblings().each(function() {
        alert($(this).html());
    });        
}
</script>​

ここでライブデモを見ることができます

于 2012-04-06T23:09:03.310 に答える