multi_filter_select problems

multi_filter_select problems

xtrapspxtrapsp Posts: 7Questions: 0Answers: 0
edited February 2013 in General
Hey all.

Having a few issues with my table. I want to utilise the multi filter select facility but I believe I'm slightly off. Mainly, the drop downs aren't appearing.

here is my code:

[code]



$(document).ready(function() {
$('#Query').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "Populate_Table_overdue.php"
} );
} );








@import "/DataTables/media/css/demo_page.css";
@import "/DataTables/media/css/demo_table.css";





(function($) {
/*
* Function: fnGetColumnData
* Purpose: Return an array of table values from a particular column.
* Returns: array string: 1d data array
* Inputs: object:oSettings - dataTable settings object. This is always the last argument past to the function
* int:iColumn - the id of the column to extract the data from
* bool:bUnique - optional - if set to false duplicated values are not filtered out
* bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
* bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
* Author: Benedikt Forchhammer
*/
$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
// check that we have a column id
if ( typeof iColumn == "undefined" ) return new Array();

// by default we only want unique data
if ( typeof bUnique == "undefined" ) bUnique = true;

// by default we do want to only look at filtered data
if ( typeof bFiltered == "undefined" ) bFiltered = true;

// by default we do not want to include empty values
if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;

// list of rows which we're going to loop through
var aiRows;

// use only filtered rows
if (bFiltered == true) aiRows = oSettings.aiDisplay;
// use all rows
else aiRows = oSettings.aiDisplayMaster; // all row numbers

// set up data array
var asResultData = new Array();

for (var i=0,c=aiRows.length; i -1) continue;

// else push the value onto the result data array
else asResultData.push(sValue);
}

return asResultData;
}}(jQuery));


function fnCreateSelect( aData )
{
var r='', i, iLen=aData.length;
for ( i=0 ; i

Replies

  • xtrapspxtrapsp Posts: 7Questions: 0Answers: 0
    Bump
  • allanallan Posts: 63,523Questions: 1Answers: 10,473 Site admin
    Because you are using server-side processing, the initialisation of the table is asynchronous. So you are currently trying to create the select elements before the data exists in the table. Use fnInitComplete to address this.

    The other issue you'll find is that with server-side processing, only the data shown will be available for the select lists - after all, that is the whole point of server-side processing. So you might need to find another way to populate your select lists with all options.

    Allan
  • xtrapspxtrapsp Posts: 7Questions: 0Answers: 0
    edited February 2013
    Hey, thanks for replying. However I am still having issues. It is a matter of not actually showing any drop down boxes... I was under the impression even if the drop downs weren't being populated that they would still appear.

    Here is my code:

    [code]

    $(document).ready(function() {
    $('#Query').dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "Populate_Table_overdue.php",
    "fnInitComplete": function(oSettings, json)
    } );
    } );

    [/code]

    It has also taken away all my populated data
  • xtrapspxtrapsp Posts: 7Questions: 0Answers: 0
    Bump :)
  • xtrapspxtrapsp Posts: 7Questions: 0Answers: 0
    bump
This discussion has been closed.