2017-10-06 29 views
0

我使用DataTables jQuery插件來顯示從我的服務中檢索到的數據;我有一個情況,我必須輸入一個數字並根據這個數字在一個字段中可能包含第一個字符的字段進行篩選。我想過濾不用字母的字段;例如: 如果我有像我的列值:B123 - C753 - 我想進入並返回只有356;這是可能的嗎?僅當字段是數字時才過濾列(datatables)

下面是我的代碼:

function filterMySecondColumn() { 
    $('#my_tbl').DataTable().column(2).search(
     $('#My_Val').val(), // my value to be filtered => it is 3 in the example 
      false, 
      true 
     ).draw(); 
} 

與上面的代碼:返回的結果將是B123 - C753 - ,因爲它們都含有。

編輯:

下面是我的HTML;當我點擊按鈕過濾器時,將會調用多個要過濾的功能。其中之一是'filterMySecondColumn'。請注意,我的表格是通過使用ajax的服務填充的,但下面是一個模板。

<table id="tblHeaderHomePage" class="tblHeaderHomePage" cellspacing="0" border="0"> 
    <tbody> 
     <tr id="filter_col1" data-column="0"> 
      <td class="FilterTdTitle"> 
       Column 0 
      </td> 
      <td class="FilterTdContent"> 
       <input type="text" autocomplete="off" class="form-control input-sm HomePage_Filter_Input" 
        id="col0_filter" /> 
      </td> 
     </tr> 
     <tr id="filter_col2" data-column="1"> 
      <td class="FilterTdTitle"> 
       Column 1 
      </td> 
      <td class="FilterTdContent"> 
       <input type="text" autocomplete="off" class="form-control input-sm HomePage_Filter_Input" 
        style="width: 85px" id="DateFrom" /> 
       <input type="text" autocomplete="off" class="form-control input-sm HomePage_Filter_Input" 
        style="width: 85px" id="DateTo" /> 
      </td> 
     </tr> 
     <tr id="filter_col3" data-column="2"> 
      <td class="FilterTdTitle"> 
       Column 2 
      </td> 
      <td class="FilterTdContent">         
       <input type="text" class="form-control input-sm HomePage_Filter_Input" id="col2_filter" /> 
      </td> 
     </tr> 
     <tr id="filter_col4" data-column="3"> 
      <td class="FilterTdTitle"> 
       Column 3 
      </td> 
      <td class="FilterTdContent"> 
       <input type="text" autocomplete="off" class="form-control input-sm HomePage_Filter_Input" 
        id="col3_filter" /> 
      </td> 
     </tr> 
     <tr id="filter_col5" data-column="4"> 
      <td class="FilterTdTitle"> 
       Column 4 
      </td> 
      <td class="FilterTdContent"> 
       <select class="BAN_Select_Home" id="Status_Select"> 
        <option value="All">All</option>          
       </select> 
      </td> 
     </tr> 
    </tbody> 
</table> 

<div class="BAN_HomePage_Filter_buttons_div"> 
    <input type="button" class="BAN_HomePage_Filter_buttons" onclick="filter()" value="Filter" />      
</div> 

<table id="My_tbl_init" class="display nowrap" cellspacing="0" width="100%"> 
<thead> 
    <tr> 
     <th> 
      Column 0 
      </th> 
      <th> 
       Column 1 
      </th> 
      <th> 
       Column 2 
      </th> 
      <th> 
       Column 3 
      </th> 
      <th> 
       Column 3 
      </th> 
     </tr> 
    </thead> 
    <tbody id="My_tbl"> 

    <tr> 
     <td> 
      test1 
     </td> 
     <td> 
      06/10/2017 
     </td> 
     <td> 
      B123 
     </td> 
     <td> 
      Opened 
     </td>      
    </tr> 

    <tr> 
     <td> 
      test2 
     </td> 
     <td> 
      06/10/2017 
     </td> 
     <td> 
      C789 
     </td> 
     <td> 
      closed 
     </td>      
    </tr> 

    <tr> 
     <td> 
      test3 
     </td> 
     <td> 
      06/10/2017 
     </td> 
     <td> 
      123 
     </td> 
     <td> 
      closed 
     </td>      
    </tr> 

</tbody> 
</table> 
+0

你還可以發佈你的HTML嗎? –

+0

所以你想檢查列2的值,並獲得唯一的數字? –

+0

是的,這就是我的問題 –

回答

1
var x = //value of the column; 
if(Math.floor(x) == x && $.isNumeric(x)){ 
//do the code 
} 

你得讓他們進入循環一個接一個,與上面的代碼檢查,並獲得數字一出來。

編輯:也許這就是你想要的。只需點擊過濾按鈕,看看。 DEMO

+0

沒錯,但是如何獲得該函數中列的值? –

+0

你可以請分享HTML以及。我相信,如果你這樣做會很簡單。 –

+0

這完美的作爲一個搜索..但它不能與我的代碼上面,並繪製我的表。搜索功能和繪圖被調用一次,並且過濾和繪製孔表。 –

相關問題