jQuery数据表只搜索一列

Vic*_*cki 10 coldfusion jquery datatables

我正在使用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() ;
    });
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

CFC

<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>
Run Code Online (Sandbox Code Playgroud)

我尝试了什么(以及许多其他组合):

"aoColumnDefs": [
            { "bSearchable": true},
            { "bSearchable": false},
            { "bSearchable": false},
            { "bSearchable": false}
        ],
Run Code Online (Sandbox Code Playgroud)

所以基本上我只想搜索ID列.任何有关这方面的帮助将不胜感激!

Gyr*_*com 23

您可以使用外部搜索控件和column().search()API方法.

$('#ItemID').on('keyup change', function () {
   oTable.column(0).search($(this).val()).draw();
});
Run Code Online (Sandbox Code Playgroud)

但是,指示DataTables使除除第一个列之外的所有列都无法使用columnDefs.searchable选项进行搜索并利用内部搜索控制将会非常简单.

var oTable = $('#processing').DataTable({
    "columnDefs": [
        { "targets": [1,2,3], "searchable": false }
    ]
});
Run Code Online (Sandbox Code Playgroud)