jQuery找到生成的表宽度数据表的第一个单元格

时间:2013-05-16 08:43:27

标签: jquery

我使用datatables类为datatable.i'm编写简单的contexMenu来创建数据列表。我想在右键点击每一个上找到表格的第一个单元格。 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使用jquery进行设置。

我怎么能找到它?例如,在点击第一行后,我必须有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>

2 个答案:

答案 0 :(得分:0)

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

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

fiddle

答案 1 :(得分:0)

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

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