Metay Jack
Metay Jack

Reputation: 53

jquery : add option value in array object

i using jquery datatables , i have 2x table with aoColumns option and 1x without aoColumns

so i want do the following

if(aoColumns != false)
add option in array

i tried that but it didnt work

function Data_Table_Function(file,Language,ServerParams,Row_Call_Back,pagation,columns_sort,aoColumnDefs){
var  Options_Data_Table = {};

Options_Data_Table = {
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": file,
        "sPaginationType": "full_numbers",
        "bPaginate": true,
        "oLanguage": Language,
         "iDisplayLength": 25,
         "aLengthMenu": [
            [10, 25, 50, 100, -1],
            [10, 25, 50, 100, "الكل"]
        ],
        "fnServerParams": ServerParams,
        "aaSorting": [[ 0, "desc" ]],
        "fnRowCallback": Row_Call_Back,
        "fnDrawCallback": pagation,
        "bInfo": false,
        "aoColumnDefs":aoColumnDefs
    };

    if(columns_sort)
    Options_Data_Table.push("aoColumns" : columns_sort);    


return  Options_Data_Table;
}

Upvotes: 0

Views: 131

Answers (3)

jloria
jloria

Reputation: 94

The problem is that Options_Data_Table is an object, not an array. In javascript arrays are declared with: [ ]

Documentation about javascript arrays: http://www.w3schools.com/js/js_obj_array.asp

The correct way for add that property is:

Options_Data_Table.aoColumns = columns_sort;

Upvotes: 0

silkfire
silkfire

Reputation: 25935

You can't use push when it comes to objects (as it is a method exclusive to arrays).

Use:

Options_Data_Table.aoColumns = columns_sort;

instead.

Upvotes: 0

webdeveloper
webdeveloper

Reputation: 17288

Options_Data_Table is object, not array:

Options_Data_Table["aoColumns"] = columns_sort;

OR

Options_Data_Table.aoColumns = columns_sort;  

should work.

Upvotes: 1

Related Questions