2

我为datatable编写简单的contexMenu。我正在使用datatables类来创建数据列表。我想在每个右键单击时找到表格的第一个单元格。HTML: jQuery:

    $("#showTopics tbody").bind("contextmenu",function(event) {
        var aata = $(this).children('tr').children('td').eq(0).text();
        alert(aata);
    return false;
});

HTML

<table id='showTopics' style='line-height:18px;'>
    <thead>
        <tr>
            <th style='width:30%;text-align:right;'>X"</th>
            <th style='width:7%;'>a</th>
            <th style='width:12%;'>b</th>
            <th style='width:11%;'>c</th>
            <th style='width:9%;'>d</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

生成带有数据表的 tbody:

下面是用数据表生成并放在 tbody 之间的结果。

row_selected使用上下文菜单并单击tr.

我怎么能找到那个?例如,单击第一行后,我必须拥有7,然后单击第二行 tr 8

对不起我的英语不好

<tr class="odd row_selected">
  <td class=" sorting_1">7</td>
  <td class="">0000-00-00</td>
  <td class="">0</td>
  <td class="">a</td>
  <td class="">aa</td>
</tr>
<tr class="even">
  <td class=" sorting_1">8</td>
  <td class="">0000-00-00</td>
  <td class="">0</td>
  <td class="">b</td>
  <td class="">bb</td>
</tr>
4

2 回答 2

0

更新:问题可以通过附加处理程序来解决,如this SO answerthis example中所示的'on'方法。

$(document).ready(function () {
    $('#showTopics').dataTable();
    $('#showTopics tbody').on('contextmenu', 'tr', function() {
        var firstcell = $(this).children('td:first');
        alert(firstcell.text());
        return false;
    });
});

小提琴

于 2013-05-16T09:12:28.673 回答
0

您应该将代码更改为以下内容。不是在 tbody 上绑定上下文菜单,而是将其绑定到每个 tr

$("#showTopics tbody tr").bind("contextmenu", function (event) {
    var aata = $(this).find("td:eq(0)").text();
    alert(aata);
    return false;
});
于 2013-05-16T13:54:44.587 回答