带有可点击行事件的引导表以及如何排除列或单元格
Posted
技术标签:
【中文标题】带有可点击行事件的引导表以及如何排除列或单元格【英文标题】:bootstrap table with clickable row event and how to exclude a column or cell 【发布时间】:2017-01-23 15:20:39 【问题描述】:我有这个用于行点击的功能:
$("#table").on("click-row.bs.table", function (row, $el, field)
if (column != 4)
);
我可以添加什么条件来排除特定列或列中的单元格?我在row, $el or field
下找不到可以识别为 ex 的东西。一个单元格索引。
【问题讨论】:
【参考方案1】:我终于找到了我的问题的答案(如果有人需要它,它比我想的更简单):
$("#table").on("click-cell.bs.table", function (field, value, row, $el)
if (value !="column_name")
//the code
);
这里是一个例子(可以访问被点击行的所有值):jsfiddle
【讨论】:
【参考方案2】:我认为最好使用click-row.bs.table
监听整个行点击。
那么columns
是一个简单的 JSON,其中包含您从 t
变量中提供的密钥。
$("#summaryTable").on("click-row.bs.table", function (editable, columns, row)
console.log("columns:", columns);
// You can either collect the data one by one
var params =
id: columns.id,
type: columns.type,
;
console.log("Params:", params);
// OR, you can remove the one that you don't want
delete columns.name;
console.log("columns:", columns);
);
【讨论】:
【参考方案3】:你可以这样做:
$("table").on("click", "tr td", function ()
var col = $(this).index();
if(col != 2)
console.log("OK");
);
请注意,$.index()
的值是基于 0 的(因此对于第 4 列,您应该使用索引 3)
JSFIDDLE
【讨论】:
我不能让它工作,看看这里jsFiddle。 看这里:jsfiddle.net/fjykowtL/21 --- 我假设列是td
元素,但你有 th
代替。另外,使用this
而不是row
好吧,它仍然不是我需要的,因为如果你添加这个 if 条件让我们说:index !=2
它根本不应该触发 console.log,但它仍然会通过点击触发其他索引.
if(index != 2) console.log(index);
表示将打印出索引 0 和 1(不是 2)。这就是那个条件的意义。你想做什么?
我需要的是:如果我单击一行中的任何单元格,我想执行一个代码(如 console.log),但除了一列中的一个单元格,让我们说最后一个(索引 = 2)那我根本不想执行任何代码,直接通过就行了。【参考方案4】:
$("#summaryTable tbody tr td").click(function()
var col = ($(this).index());
if(col == 2 || col == 1)
alert("do nothing");
alert("do something");
);
当点击第一列而不是第二列或第三列时会发生这种情况。
表格很像数组,0 是第一个,所以如果我们在一个表格中有 3 列,那么您将有 0、1、2 列。
您可以在 if 语句中添加更多值
希望对你有帮助
【讨论】:
这仅在您单击这些单元格时才有效,而不是整行(如 OP) 这不是我要找的,如果在这里查看jsfiddle 你会发现它只适用于第一行而不是列中。以上是关于带有可点击行事件的引导表以及如何排除列或单元格的主要内容,如果未能解决你的问题,请参考以下文章