选择点击事件的第三列

时间:2013-04-09 15:27:38

标签: jquery

我有一个Datatable,它在前两个coloumns中呈现两个图像按钮

<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值。

1 个答案:

答案 0 :(得分:0)

一些事情:

  • IDs 必须 才是唯一的!改为使用类。

  • 由于两个click事件都做同样的事情,所以在选择器中组合两个类(使用逗号)。 $('.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()标识元素

的位置(使用索引)

希望这有帮助,如果您有任何问题,请告诉我们!