0

我有一个数据表,它在前两个列中呈现两个图像按钮

<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 必须是独一无二的!改用类。

  • 由于两个点击事件都做同样的事情,所以在选择器中组合这两个类(使用逗号)。 $('.releaseMessage, .deleteMessage').click().

  • 旁注:我建议使用console.log()而不是alert().

JAVASCRIPT:

$(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 回答