如何操作jquery-bootgrid格式化程序中的元素

How to operate on an element inside jquery-bootgrid formatters

本文关键字:程序 格式化 元素 jquery-bootgrid 何操作 操作      更新时间:2023-09-26

假设我有一个这样的bootgrid格式化器:

$(document).ready(function () {
  //bootgrid
  $("#bootgrid-issues").bootgrid({
    ...
      formatters: {
       product: function (column, row){
         return "<p class='per_online_issue_id'>" + row.product["product_name"] +"</p>";
       },
      category: function (column, row){
        return "<p>" + row.category["category_name"] +"</p>";
      },
  },
});

我希望它打印一个"hello",如果per_online_issue_id元素点击。但它并没有像预期的那样工作。我错过什么了吗?我是这样做的,我把它写在formatters后面。

$('.per_online_issue_id').click(function () {
   console.log("hello")
});

最后我自己想出了如何通过返回javascript来做到这一点。

首先:从bootgrid的格式化器返回Javascript。

product: function (column, row){
      return "<a href='"javascript:void(0)'" onclick=my_function(''"+row.product["product_name"]+"''+ "</a>";
},

第二步:调用返回的my_function来操作你想要的元素。

<script>
    function my_function(product_name) {
      alert("product_name returned from bootgrid: " + production_name);
    }
</script>