javascript - 文档函数中的“DataTable 不是函数”错误
问题描述
通常,我过去常常通过在里面提供以下代码来初始化数据表
$(function () {
$('#keywords-table').DataTable({
"ajax": ({
url: "{{ route('getKeywordsByProductId') }}",
method: "get",
}),
"columns": [
{ "data": "action" },
{ "data": "name" },
]
});
并尝试通过$('#keywords-table').DataTable().ajax.reload();
(从内部的某些功能重新加载它$(function() {});
,它工作得很好。
但是当我尝试从下面的函数重新加载它时,我得到了以下错误
未捕获的类型错误:$(...)DataTable 不是函数。
$(document).on('click', '.edit', function() {
$('#keywords-table').DataTable().ajax.reload();
});
我试着把
$(document).on('click', '.edit', function() {
$('#keywords-table').DataTable().ajax.reload();
});
里面$(function() {});
,但错误仍然存在。
让我知道如何解决这个问题。
解决方案
您需要创建一个变量来保存由 DataTable() 创建的值。尝试将您的代码更改为
var myTable= $('#keywords-table').DataTable({
"ajax": ({
url: "{{ route('getKeywordsByProductId') }}",
method: "get",
}),
"columns": [
{ "data": "action" },
{ "data": "name" },
]
});
接着
$(document).on('click', '.edit', function() {
myTable.ajax.reload();
});
推荐阅读
- http - Golang RoundTripper 提供空回复
- xamarin.forms - 适用于 iOS 和 Android 的蓝牙扫描仪(Xamarin Forms)
- html - 如何使用 webpack 在网站的浏览器选项卡中放置图标(favicon)?
- google-apps-script - Google Script 有时无法读取完整的电子表格
- scroll - 大型 Org 模式文件和 org-do-latex-and-related 函数中的缓慢光标移动
- visual-studio - .sqlproj 文件的版本控制
- karate - 有没有办法更新一个功能文件中的标头并使用来自 Karate.config.js 的 Auth 令牌?
- javascript - 给定一个固定的角度、宽度和矢状面,我们如何计算椭圆的水平和垂直半径?
- python - Jupyter Notebook 无法识别 pandas 库:Python
- r - 将值分组到 bin 中,然后使用 plotly (R, Dplyr) 绘图