0

最初の 2 つの列に 2 つのイメージボタンをレンダリングする Datatable があります。

<tr>
  <td>Button 1
  <td>Button 2
</tr>
<tr>
  <td>Value<td/>

これを使用して、対応するクリックの値を取得しようとしています:

         $('[id$=releaseMessage]').click(function () {
                alert($('td:eq(2)', this).html());
            });

            $('[id$=deleteMessage]').click(function () {
                alert($('td:eq(2)', this).html());
            });

値は行ごとに異なるため、次のようなものを使用できます。

     tr:eq(0) td:first-child

これは常に最初の td 値を返すためです。

4

1 に答える 1

0

いくつかのこと:

  • IDs ユニークでなければなりません!代わりにクラスを使用してください。

  • どちらのクリック イベントも同じことを行うため、セレクターで 2 つのクラスを結合します (コンマを使用します)。 $('.releaseMessage, .deleteMessage').click().

  • 補足:console.log()ではなくを使用することをお勧めしalert()ます。

ジャバスクリプト:

$(document).ready(function(){
    $('.releaseMessage, .deleteMessage').click(function(){
        alert($(this).closest('tr').children().eq(2).html());
    });
});

デモ: http://jsfiddle.net/dirtyd77/tcyuF/3/


説明:

$(this)クリックされた要素 (この場合はアンカーa)を参照
.closest()します 最も近いものを見つけtr
.children()ます の子を取得します 要素tr
.eq()の位置を (インデックスを使用して) 識別します

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-04-09T16:48:15.253 に答える