0

我在 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。

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

4

1 回答 1

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不作为变量存在于范围内,因此未定义 Uncaught ReferenceError 'value'value (我猜您在三个函数中引用传递的参数。

于 2014-12-15T11:43:41.893 回答