【问题标题】:DataTables and Hyperlink group button数据表和超链接组按钮
【发布时间】:2014-12-15 10:24:56
【问题描述】:

我在 DataTable 的 actios 列中放置了一个 bootstrpa 按钮组。该按钮由三个选项组成,每个选项调用一个单独的函数,传入一个 Id 的值。

这一切都设置好了,在数据表的 ColumnDefs 部分中,如下所示:

   "columnDefs": [
             { "visible": false, "targets": 7 },
             { "visible": true, "targets": 8 },
              {
                  "targets": 8,
                  "visible": true,
                  "searchable": false,
                  "sortable": false,
                  "data": "download_link",
                  "render": function (data, type, full, meta) {

                      return '<div class="btn-group" role="group">' +
                          '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action<span class="caret"></span>' +
                          '</button>' +
                          '<ul class="dropdown-menu" role="menu">' +
                         '<li><a href="javascript:viewMessage(' + data + ');">View</a></li>' +
                         '<li><a href="javascript:completeMessage(' + data + ');">Complete</a></li>' +
                          '<li><a href="javascript:approveMessage(' + data + ');">Approve</a></li>' +
                          '</div>';
                  }
              }
            ]

我的 viewMessage 函数甚至没有被调用,因为我得到一个 Uncaught ReferenceError 'value' is not defined。

如果我省略了“数据”值,我的方法就会被触发。

【问题讨论】:

    标签: jquery jquery-datatables datatables-1.10


    【解决方案1】:

    如果没有看到目标函数的代码,例如viewMessage,很难完全确定,但我认为问题在于您没有引用data。改为这样做:

    '<li><a href="javascript:viewMessage(&quot;' + data + '&quot;);">View</a></li>' +
    '<li><a href="javascript:completeMessage(&quot;' + data + '&quot;);">Complete</a></li>' +
    '<li><a href="javascript:approveMessage(&quot;' + data + '&quot;);">Approve</a></li>' +
    

    没有引号,data 被插入,因为它引用了一个变量。如果data 是“测试”,结果将是

    <a href="javascript:viewMessage(test);">View</a>             
    

    并且test 不作为变量存在于作用域中,因此未定义未捕获的ReferenceError 'value'(我猜您在三个函数中将传递的参数称为value

    【讨论】:

      猜你喜欢
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      相关资源
      最近更新 更多