datatable jquery插件:填充select来过滤通过ajax获取的数据

时间:2014-05-20 18:12:12

标签: javascript jquery ajax datatables

我使用强大的jQuery插件dataTable,我需要: 1.从ajax源获取数据 2.添加选择以过滤输出

HTML代码:

<table id='probecardlist' class='display' cellspacing='0' width='100%'>
<thead>
    <tr>
        <th>Selection</th>
        <th>Id</th>
        <th>Production Area</th>
        <th>Format</th>
        <th>Orientation</th>
        <th>Parallelism</th>
    </tr>
</thead><thead>
    <tr>
        <th></th>
        <th></th>
        <th><select id='filter.productionarea'></select></th>
        <th><select id='filter.format'></select></th>
        <th><select id='filter.orientation'></select></th>
        <th></th>
    </tr>
</thead>
</table>

和那个JS:

$( document ).ready(function() {
var table = $( '#probecardlist' ).dataTable({
    'ajax' : 'http://whaelse.url/query.php',
    'paging' : false,
    'searching' : false,
    'ordering' : true,
    'columns' : [
        { 'data' : 'selection' },
        { 'data' : 'id' },
        { 'data' : 'productionarea' },
        { 'data' : 'format' },
        { 'data' : 'orientation' },
        { 'data' : 'dicecount' }
    ],
    'fnInitComplete' : function( oSettings , json ) {
        console.log( this.column( 'format:name' ).data() );
             })
})
});

当我尝试仅列出(在consolle上)列的值#34;格式&#34;我收到这样的错误:

对象#HTMLTableElement没有方法&#39;列&#39;。

Mhm ......出了什么问题?

1 个答案:

答案 0 :(得分:0)

&#39; fnInitComplete&#39;实现[this.api()]方法来获取对象的属性

'fnInitComplete' : function ( oSettings , json ) {
     var api = this.api();
     api.column ( 'format:name' ).data().unique().sort().each( function ( v ) {
        console.log (v);
     });
  }