2012-07-06 33 views
0

我正在通過datatables插件實現一個過濾器和排序選項到我的php代碼中。對於輸入類型字段,我設置通配符搜索,但我不想通配符搜索選擇框。在我的選擇框中有兩個值「有效」和「無效」。那麼該怎麼做。請幫幫我。 我的代碼是這樣的:jQuery dataTables - 停止通配符搜索數據表中的選擇框

$("#example").dataTable().columnFilter({ 
    aoColumns: [ 
     null, 
     null, 
     null, 
     null, 
     null, 
     null, 
     null, 
     { 
      type: "select", 
      values: ["Active","Inactive"] 
     }, 
     null, 
     null 
    ]    
}); 

function fnCreateSelect(aData) 
{ 
    var r='<select><option value=""></option>', i, iLen=aData.length; 
    for (i=0 ; i<iLen ; i++) 
    { 
     r += '<option value="'+aData[i]+'">'+aData[i]+'</option>'; 
    } 
    return r+'</select>'; 
} 


function fnFilterColumn (i) 
{ 

    $('#example').dataTable().fnFilter( 
     $("#col"+(i+1)+"_filter").val(), 
     i,true 
    ); 
} 
+1

這不是PHP選擇框。這是JS/jQuery – jurgemaister 2012-07-06 07:37:22

+0

好的抱歉。但請幫助我如何解決。 – Bappa 2012-07-06 07:51:29

回答

0
$(document).ready(function() { 
    $('#example').DataTable({ 
     initComplete: function() { 
      this.api().columns().every(function() { 
       var column = this; 
       var select = $('<select><option value=""></option></select>') 
        .appendTo($(column.footer()).empty()) 
        .on('change', function() { 
         var val = $.fn.dataTable.util.escapeRegex(
          $(this).val() 
         ); 

         column 
          .search(val ? '^'+val+'$' : '', true, false) 
          .draw(); 
        }); 

       column.data().unique().sort().each(function (d, j) { 
        select.append('<option value="'+d+'">'+d+'</option>') 
       }); 
      }); 
     } 
    }); 
}); 

所有列