Pagination 如何使select2元素与数据表和分页一起工作?
我的select2元素与jquery数据表配合良好:Pagination 如何使select2元素与数据表和分页一起工作?,pagination,datatables,jquery-select2,Pagination,Datatables,Jquery Select2,我的select2元素与jquery数据表配合良好: var table = $('#table').DataTable({ "ajax": { "url": "data/table.json", "dataSrc": "", }, "columnDefs": [ { "render": function (data, type, row) {
var table = $('#table').DataTable({
"ajax": {
"url": "data/table.json",
"dataSrc": "",
},
"columnDefs": [
{
"render": function (data, type, row) {
return '<select class="form-control select2" ><option selected value="one">one</option><option value="two">two</option></select>';
},
"targets": 0
},
],
"columns": [
{
"data": "content"
},
],
"dom": "<row></row>",
initComplete: function () {
$('select').select2();
},
});
但它只在我分页的第一页起作用。当我转到第二页或只是显示更多结果时,它不再工作。draw.dt函数将在每次分页页面更改时初始化select2元素:
initComplete: function () {
$('#table').on('draw.dt', function() {
$('select').select2();
});
},
draw.dt函数在每次分页页面更改时初始化select2元素:
initComplete: function () {
$('#table').on('draw.dt', function() {
$('select').select2();
});
},
使用数据宽度属性:
function Select2() {
$('select').each(function() {
$(this).off('change');
var width = $(this).attr("data-width") || '100px';
var x = this.required;
$(this).select2({
theme: 'bootstrap4',
width: width,
dropdownAutoWidth: true
});
if (x) {
$(this).next().children().children().each(function() {
$(this).css("border-color", "#f8ac59");
});
}
});
}
使用数据宽度属性:
function Select2() {
$('select').each(function() {
$(this).off('change');
var width = $(this).attr("data-width") || '100px';
var x = this.required;
$(this).select2({
theme: 'bootstrap4',
width: width,
dropdownAutoWidth: true
});
if (x) {
$(this).next().children().children().each(function() {
$(this).css("border-color", "#f8ac59");
});
}
});
}
虽然只回答代码可能会有所帮助,但添加一些解释总是更好的。感谢您提供的这个代码片段,它可能会提供一些有限的、即时的帮助。A通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请在你的回答中添加一些解释,包括你所做的假设。@peace\u love,你能解释draw.dt的来源吗?我也面临同样的问题,除了本地数据之外,我发布了它,但无法让它正常工作。虽然只有代码的答案可能会有帮助,但添加一些解释总是更好。感谢您提供此代码片段,它可能会提供一些有限的、即时的帮助。A通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请在你的回答中添加一些解释,包括你所做的假设。@peace\u love,你能解释draw.dt的来源吗?我也面临同样的问题,只是发布了本地数据,无法使其正常工作。这只会修改字段的实际宽度,与分页无关。您需要自己解决此代码,但通过添加一个类,您可以将其添加到datatable的pagination on.init事件中,您可以解决此问题。您没有正确地给出任何Html+javascript示例来进行示例响应…这只修改字段的实际宽度,与分页无关您需要自己解决此代码,但通过添加一个类,您可以将该类添加到datatable的pagination on.init事件中,您可以解决此问题。您没有正确给出任何Html+javascript示例来进行示例响应。。。