我正在使用jquery dataTable进行单个列搜索(选择输入)
<script src="~/Scripts/jquery-3.3.1.js"></script>
<script src="~/Scripts/jquery.dataTables.min.js"></script>
<link href="~/Content/jquery.dataTables.min.css" rel="stylesheet" />
$(document).ready(function() {
$('#tblDemo').DataTable({
initComplete: function () {
this.api().columns().every(function () {
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j) {
select.append('<option value="' + $(d).text().trim() + '">' + $(d).text().trim() + '</option>')
});
});
},
orderCellsTop: false,
fixedHeader: true,
ordering: false,
lengthChange: false,
});
});
我面临的问题是DataTables搜索无法使用
它在
$.fn.dataTable.util.escapeRegex(
$(this).val()
);
此行 请帮我解决
答案 0 :(得分:0)
看来,当文档尚未完全准备就绪时,脚本就会运行。 尝试将您的代码包装在其中:
$(document).ready(function() {
// your code here
});
答案 1 :(得分:-1)
如果您使用jquery,请将此脚本添加到head标签中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>