我正在使用 jQuery 数据表和 ColdFusion。我试图让搜索字段仅搜索第一列(ITEM ID),因此当您开始输入 ITEM ID 时,它只会搜索表中的 ITEM ID 部分,并且自 due_date 和 QTY 以来并非所有列也将具有类似的数字.
jQuery
var oTable = $('#processing').DataTable( {
$('#ItemID').on( 'keyup', function () {
oTable.search($(this).val()).draw() ;
});
HTML - CF
<div class="col-xs-8">
<label for="ItemID">ITEM ID</label>
<div class="input-group">
<input type="text" class="form-control" name="ItemID" id="ItemID" maxlength="15"> <span class="input-group-btn">
<button type="button" class="btn btn-default" id="Search">SEARCH</button>
</span>
</div>
</div>
<table id="processing" class="table table-hover">
<thead>
<th><b>ITEM ID</b></th>
<th><b>DUE DATE</b></th>
<th><b>STATUS</b></th>
<th><b>QTY</b></th>
</thead>
<tbody>
<cfoutput query="processTable">
<cfif #Date_Complete# EQ "">
<tr>
<td class="LAlign">#id#</td>
<td>#dateFormat(processTable.Date_Due, 'mm/dd/yyyy')#</td>
<td>PROCESSING</td>
<td>#Item_Count#</td>
</tr>
</cfif>
</cfoutput>
</tbody>
</table>
氟碳化合物
<cffunction name="displayTable" access="public" returntype="query">
<cfset var processTable = ''>
<cfquery name="processTable">
SELECT id, Date_Due, Date_Complete, Item_Count
FROM dbo.Dealer_Track_Work
</cfquery>
<cfreturn processTable>
</cffunction>
我尝试过的(以及许多其他组合):
"aoColumnDefs": [
{ "bSearchable": true},
{ "bSearchable": false},
{ "bSearchable": false},
{ "bSearchable": false}
],
所以基本上我只想搜索 ID 列。任何有关此问题的帮助将不胜感激!
最佳答案
您可以使用外部搜索控件和 column().search()
API方法。
$('#ItemID').on('keyup change', function () {
oTable.column(0).search($(this).val()).draw();
});
但是,指示 DataTables 使除第一列之外的所有列都不可使用 columnDefs.searchable
进行搜索会非常简单。选项并利用内部搜索控制。
var oTable = $('#processing').DataTable({
"columnDefs": [
{ "targets": [1,2,3], "searchable": false }
]
});
关于jQuery 数据表仅搜索一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33135047/