我正在使用带命令按钮的Bootgrid,并且如果网格中只有一行(我可以确定是否只有一行来自php中的数据),那么我想要触发命令按钮点击事件。命令按钮有一个叫做“command-view”的类。我已经试过如下:如何触发Bootgrid命令按钮的点击事件
$(".command-view").click();
$("#grid .command-view").click();
我正在使用带命令按钮的Bootgrid,并且如果网格中只有一行(我可以确定是否只有一行来自php中的数据),那么我想要触发命令按钮点击事件。命令按钮有一个叫做“command-view”的类。我已经试过如下:如何触发Bootgrid命令按钮的点击事件
$(".command-view").click();
$("#grid .command-view").click();
你必须做这样的:
var grid = $("#your_grid").bootgrid({
formatters: {
"commands": function(column, row)
{
return '<button class="command-select"data-row-id='+ row.id +'></button>';
}
}
}).on("loaded.rs.jquery.bootgrid", function() {
grid.find(".command-select").on("click", function (e) {
var id = $(this).data("row-id");
console.log(e)
console.log(id);
});
});
注重的是grid.find指电网变量,在第一行创建的。
更传统的方法是使用内置的BootGrid点击处理程序(基本上是基于行的,如下所示),然后处理点击。
这就是BootGrid希望你工作的方式,也意味着你不需要在每一行上放置一个单独的事件处理程序。
.on('click.rs.jquery.bootgrid', function (e, cols, row, target) {
if (typeof row != "undefined") // Only rows, not headers
{
// You will get control here when anything in the row is clicked.
// In your case just filter for your target and you're done.
}
排序行时我在控制台上得到了javascript错误,因为我试图在行单击时获取数据属性ID。检查未定义的if语句是我在行单击事件中缺少的,以确定它是行还是标题。谢谢@philw。 – ajexpress
如果我理解正确,你已经有点击处理程序为你的命令按钮,但你想触发它,当只有一行。如果是这样,为什么不只是调用您在现有点击处理程序中调用的相同方法,而不是尝试自己触发点击? – Alisson