获取行上的行号在jQuery中为bootstrap表单击

时间:2015-05-18 19:52:14

标签: javascript jquery

虽然听起来很简单,但我仍然无法检索当前点击/选定行的row number

到目前为止,我已尝试过以下内容。 我正在使用bootstrap table,以防您想知道。

$('#myTable').on('click-row.bs.table', function (e, row, $element) {

     //var row_num = parseInt($(this).parent().index()) + 1;

     //var row_num = $(this).closest('tr').index();

     //var row_num = $(this).closest('td').parent()[0].sectionRowIndex;

}

似乎没有人为我工作。

2 个答案:

答案 0 :(得分:3)

您遇到的问题仅仅是click-row.bs.table的工作方式,只要click-row.bs.table是一个表事件,this关键字指向表本身而不是行,所以你只需要使用$element代替:

$('#myTable').on('click-row.bs.table', function (e, row, $element) {
  var row_num = $element.index() + 1;
});

答案 1 :(得分:0)

最好将data属性与索引

一起使用
  

$ element.data( '索引')

如果通过使用expandRow

添加了行,则方法.index()将更改

// Open or close on click
$table.on('click-row.bs.table', function (e, row, $element, index) {
  if(!row.open){
    $table.bootstrapTable('expandRow', $element.data('index'));
  }
  else{
    $table.bootstrapTable('collapseRow', $element.data('index'));
  }
});