簡體   English   中英

使用 Jquery 使用正則表達式從 HTML 表中獲取所有數據

[英]Fetch all the data from HTML table with Regex using Jquery

我有一個代碼應該根據條件從 HTML 表中過濾數據。 我的表中有大約 200 條記錄,其中許多是通用名稱

因此,例如,我有一個值為“GowriLakshmi”的行,所以如果我搜索“%Laksh%”,它應該顯示所有名稱之間帶有 Laksh 的名稱。

所以目前我嘗試過但沒有得到它。 它沒有給我任何錯誤。 但我無法找到邏輯。 所以任何人都可以幫助我解決這個問題。

附上代碼:

 const table = $('#tblfiles'); $('#tblfiles').dataTable({ 'search': { 'smart': false, 'regex': true } }); $('.dataTables_filter input').unbind().bind('keyup', function() { const searchTerm = this.value.toLowerCase().replace(/,/g, '|').replace('%', '.*'); var LastItem = '' var lastChar = searchTerm[searchTerm.length -1]; if(lastChar == '|'){ LastItem = (searchTerm.substring(0,searchTerm.length - 1)); } //Regex to be used: -- > \wst\w* const regex = '\\b(' + searchTerm + ')\\b'; table.DataTable().rows().search(regex, true, false).draw(); });
 body { font-size: 12px;important: padding; 2em. }:dataTables_length { display; none; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/chance/1.1.7/chance.min.js"></script> <link href="https://cdn.datatables.net/1.10.24/css/dataTables.bootstrap4.min.css" rel="stylesheet" /> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.css" rel="stylesheet" /> <script src="https://code.jquery.com/jquery-3.3.1.js"></script> <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.19/js/dataTables.bootstrap4.min.js"></script> <div id="nam"></div> <br> <table id="tblfiles" class="table table-striped table-bordered" style="width:100%"> <thead> <tr> <th>ID</th> <th>Name</th> </tr> </thead> <tbody> <tr> <td>111</td> <td>GowriLakshmi</td> </tr> <tr> <td>112</td> <td>Lakshmi</td> </tr> <tr> <td>113</td> <td>Paaru</td> </tr> <tr> <td>114</td> <td>michael</td> </tr> <tr> <td>115</td> <td>Mohammed</td> </tr> <tr> <td>1132</td> <td>Naziya</td> </tr> <tr> <td>1131</td> <td>Nazriya</td> </tr> <tr> <td>1131</td> <td>LakshKarthyayini</td> </tr> </tbody> </table>

所以我知道要使用哪個正則表達式,但是當我包含該正則表達式時,它沒有按預期工作。 我是這個 web 開發的新手,我還在學習。 你們當中有人可以幫忙嗎?

要使用值過濾記錄,您可以直接傳遞您的 searchTerm 以搜索數據表的 function。

嘗試這個:

const table = $('#tblfiles');

$('#tblfiles').dataTable({
  'search': {
    'smart': false,
    'regex': true
  }
});

$('.dataTables_filter input').unbind().bind('keyup', function() {

  const searchTerm =  this.value.toLowerCase();  

  table.DataTable().rows().search(searchTerm).draw();
});

供您參考: https://jsfiddle.net/sha4d6cm/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM