gpt4 book ai didi

javascript - 在 DataTable JQuery 中过滤精确的字符串

转载 作者:行者123 更新时间:2023-11-28 04:42:28 25 4
gpt4 key购买 nike

如何在 JQuery Datable 的搜索栏中搜索完全匹配 我尝试使用 fnFilter 但它仍然没有返回完全匹配。

  $(document).ready(function() {
var oTable = $('#datacal_table').DataTable({"order": [[4, "asc"]]});
oTable.fnFilter("^"+$(this).val()+"$", 4, true);
});

例如,我只注意搜索“active”,但结果是“inactive”单词也会返回结果。我应该做什么,我需要能够仅搜索确切的字符串。

Post image

编辑

我尝试了 inuka 的链接之一 How to search for an exact string in a jQuery DataTable?

我的文本类似乎干扰了搜索,我该如何解决这个问题?我想继续使用我的类文本,以便它是彩色的。

<td id="status">
<span class = "label {{ getStatusColor($data->status) }}"
id = "status_{{ $data->id }}">
{{ getStatusText($data->status) }}
</span>
</td>

当我只保留 {{getStatusText}} 时,搜索可以工作,但当我尝试对它进行分类时,却不能。

<script type="text/javascript">
$(document).ready(function() {
var table = $('#datacal_table').DataTable({
"order": [[4, "asc"]]
});
$('.dataTables_filter input', table.table().container())
.off('.DT')
.on('keyup.DT cut.DT paste.DT input.DT search.DT', function(e) {
var term = $.trim(this.value);
if (term !== ""){
var termRegExp = new RegExp('^' + $.fn.dataTable.util.escapeRegex(term) + '$', 'i');

$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex){
var isFound = false;
$.each(data, function (index, value) {
if (termRegExp.test(value)){ isFound = true; }
return !isFound;
});
return isFound;
}
);
}

table.draw();

if (term !== "") {
$.fn.dataTable.ext.search.pop();
}
});
});
</script>

最佳答案

以下答案来自this帖子将为您提供在 HTML 表格结构中搜索术语的答案。

$('#datacal_table').DataTable({
"columnDefs": [{
"targets": [4],
"render": function ( data, type, full, meta ) {
if(type === 'filter'){
return $('#datacal_table').DataTable().cell(meta.row, meta.col).nodes().to$().find('span').text();
} else {
return data;
}
}
}]
});

根据Datatables documentationcolumnDefs.targets 将为您提供仅匹配指定列名称值的选项。 "targets": [4] 将仅关注状态列下的值。

关于javascript - 在 DataTable JQuery 中过滤精确的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648016/

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