Datatables.net 和 sweetalert
Datatables.net and sweetalert
所以我正在使用 Datatables and every row has a delete button at the end, which I use in combination with Sweetalert。
我每页有 10 个结果,如果有更多页,我转到下一页并尝试使用删除按钮,但没有任何反应。这就像 sweetalert 没有为前 10 行之外的任何其他内容呈现。
下面是我的 Sweetalert 代码,但我不认为它与此代码相关,因为它在前 10 行工作正常。
<script>
$(document).ready(function () {
$('.deleteItem').on('click', function (e) {
e.preventDefault();
var form = $(this).parents('form');
Swal.fire({
title: 'Some title',
text: "Some text",
}).then((result) => {
if (result.value) {
form.submit();
}
});
});
});
</script>
我只是想知道使用 Datatables 的其他人是否 运行 遇到了类似的问题,或者是否有人知道问题可能是什么。好像只有前 10 行在页面上呈现。
我初始化数据表的方式很简单,没什么特别的:
$(document).ready(function () {
$('.datatable').dataTable();
});
我所有的删除按钮都是这样的:
<form method="POST" action="something">
<a type="submit" class="deleteItem">
Delete
</a>
</form>
如您所述,其他删除锚点不在其他页面的 DOM 中。您可以侦听由 DataTables 触发的 draw
事件,并在此处使用 Sweetalert 分配点击处理程序。我已经定义了一个函数 registerDeleteItemHandlers
来封装点击事件处理程序的注册。
$(document).ready(function () {
const registerDeleteItemHandlers = () => {
$(".deleteItem").on("click", function (e) {
e.preventDefault();
var form = $(this).parents("form");
Swal.fire({
title: "Some title",
text: "Some text",
}).then((result) => {
if (result.value) {
form.submit();
}
});
});
};
registerDeleteItemHandlers();
$(".datatable")
.dataTable()
.on("draw.dt", function () {
registerDeleteItemHandlers();
});
});
所以我正在使用 Datatables and every row has a delete button at the end, which I use in combination with Sweetalert。
我每页有 10 个结果,如果有更多页,我转到下一页并尝试使用删除按钮,但没有任何反应。这就像 sweetalert 没有为前 10 行之外的任何其他内容呈现。
下面是我的 Sweetalert 代码,但我不认为它与此代码相关,因为它在前 10 行工作正常。
<script>
$(document).ready(function () {
$('.deleteItem').on('click', function (e) {
e.preventDefault();
var form = $(this).parents('form');
Swal.fire({
title: 'Some title',
text: "Some text",
}).then((result) => {
if (result.value) {
form.submit();
}
});
});
});
</script>
我只是想知道使用 Datatables 的其他人是否 运行 遇到了类似的问题,或者是否有人知道问题可能是什么。好像只有前 10 行在页面上呈现。
我初始化数据表的方式很简单,没什么特别的:
$(document).ready(function () {
$('.datatable').dataTable();
});
我所有的删除按钮都是这样的:
<form method="POST" action="something">
<a type="submit" class="deleteItem">
Delete
</a>
</form>
如您所述,其他删除锚点不在其他页面的 DOM 中。您可以侦听由 DataTables 触发的 draw
事件,并在此处使用 Sweetalert 分配点击处理程序。我已经定义了一个函数 registerDeleteItemHandlers
来封装点击事件处理程序的注册。
$(document).ready(function () {
const registerDeleteItemHandlers = () => {
$(".deleteItem").on("click", function (e) {
e.preventDefault();
var form = $(this).parents("form");
Swal.fire({
title: "Some title",
text: "Some text",
}).then((result) => {
if (result.value) {
form.submit();
}
});
});
};
registerDeleteItemHandlers();
$(".datatable")
.dataTable()
.on("draw.dt", function () {
registerDeleteItemHandlers();
});
});