【问题标题】:get row number on row click in jQuery for bootstrap table在 jQuery 中为引导表获取行号
【发布时间】:2018-06-13 22:49:58
【问题描述】:

听起来很简单,但我一直在检索当前单击/选定行的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;

}

似乎没有一个对我有用。

【问题讨论】:

  • 如果您添加您的 html 并描述您想要实现的目标(例如,如果单击一行,它应该获得不同的背景),我们可以为您提供更好的帮助。你能解释一下为什么这些答案对你不起作用吗?
  • @IvanSivak,在那里尝试了两个答案......对我没有用。
  • @threeFourOneSixOneThree....如果我做 +1 或换句话说 0,答案总是返回 1

标签: javascript jquery


【解决方案1】:

您遇到的问题只是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;
});

【讨论】:

  • 你错过了 ( 的左大括号 - for element
【解决方案2】:

最好使用带索引的数据属性

$element.data('index')

方法 .index() 如果有添加的行,例如使用 expandRow 将改变

// 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'));
  }
});

【讨论】:

    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 2022-06-01
    • 2011-01-23
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多