gpt4 book ai didi

java - DataTable 不是 Liferay 7 上的函数

转载 作者:行者123 更新时间:2023-12-02 11:03:53 27 4
gpt4 key购买 nike

这是我在 liferay 上当前的代码:

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.18/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.18/js/jquery.dataTables.js"></script>

<html>
<table id="table_id" class="display">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 Data 1</td>
<td>Row 1 Data 2</td>
</tr>
<tr>
<td>Row 2 Data 1</td>
<td>Row 2 Data 2</td>
</tr>
</tbody>
</table>

<script>
$(document).ready( function () {
$('#table_id').DataTable();
});

</script>

</html>

我没有导入任何 jquery 引用,因为默认情况下它已经在 liferay 7 中(使用 jQuery 函数测试),所以我只是复制了 datatable CDN到我的 liferay

但是它说数据表不是一个函数..我可能错误地引用了数据表吗? (不太可能)或者我需要再次引用 jQuery? (尝试过但可能会引起冲突)。

p/s相同的代码能够在jsfiddle上运行并显示数据表 >>jsfiddle

最佳答案

要使用此 jQuery 插件,您需要停用 Liferay JS 加载器,如下所述:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/using-external-libraries .

在您的情况下,导入 DataTables JS 的代码可能是:

<script>
Liferay.Loader.define._amd = Liferay.Loader.define.amd;
Liferay.Loader.define.amd = false;
</script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
<script>
Liferay.Loader.define.amd = Liferay.Loader.define._amd;
</script>

您应该将上面的代码片段添加到自定义主题的底部(在 portal_normal.ftl 文件中,位于 body 结束标记之前)。

关于java - DataTable 不是 Liferay 7 上的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51129223/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com