将 DataTable().search() 与 if 语句一起使用
Using DataTable().search() with if statement
我对 Datatable().search() 函数有疑问。
我希望实现的是,当我键入以 "x:" 开头的内容时,我想过滤索引为 1 的列,在其他情况下,它应该过滤列 0.
我还没有发现任何类似我的问题。也许 DataTable() 无法实现这样的操作?
感谢您的宝贵时间!
这是我的js代码:
function filterName() {
var regularExpression = $('.column_filter').val();
var columnNum = 0;
if (regularExpression[0] == 'x' && regularExpression[1] == ':') {
columnNum = 1;
regularExpression = regularExpression.substring(3, regularExpression);
} else {
columnNum = 0;
}
if (regularExpression[regularExpression.length - 1] == ' ') {
regularExpression = regularExpression.substring(0, regularExpression.length - 1);
}
regularExpression = regularExpression.replace(/\s/g, "|");
$('#table')
.DataTable()
.column(columnNum)
.search(
regularExpression,
true,
false
)
.draw();
}
$('#table')
.DataTable({
"paging": false,
"ordering": false,
"info": false,
"autoWidth": false,
"sDom": '<"top"i>rtlp'
});
$('.column_filter')
.on('keyup click',
function () {
filterName();
});
好的,我找到了解决办法。
我不得不清除搜索功能。
我补充了:
$('#table')
.DataTable()
.columns()
.search('');
之前:
$('#table')
.DataTable()
.column(columnNum)
.search(
regularExpression,
true,
false
)
.draw();
我对 Datatable().search() 函数有疑问。 我希望实现的是,当我键入以 "x:" 开头的内容时,我想过滤索引为 1 的列,在其他情况下,它应该过滤列 0.
我还没有发现任何类似我的问题。也许 DataTable() 无法实现这样的操作?
感谢您的宝贵时间!
这是我的js代码:
function filterName() {
var regularExpression = $('.column_filter').val();
var columnNum = 0;
if (regularExpression[0] == 'x' && regularExpression[1] == ':') {
columnNum = 1;
regularExpression = regularExpression.substring(3, regularExpression);
} else {
columnNum = 0;
}
if (regularExpression[regularExpression.length - 1] == ' ') {
regularExpression = regularExpression.substring(0, regularExpression.length - 1);
}
regularExpression = regularExpression.replace(/\s/g, "|");
$('#table')
.DataTable()
.column(columnNum)
.search(
regularExpression,
true,
false
)
.draw();
}
$('#table')
.DataTable({
"paging": false,
"ordering": false,
"info": false,
"autoWidth": false,
"sDom": '<"top"i>rtlp'
});
$('.column_filter')
.on('keyup click',
function () {
filterName();
});
好的,我找到了解决办法。 我不得不清除搜索功能。
我补充了:
$('#table')
.DataTable()
.columns()
.search('');
之前:
$('#table')
.DataTable()
.column(columnNum)
.search(
regularExpression,
true,
false
)
.draw();