How to display Select Input default value?

How to display Select Input default value?

pcadypcady Posts: 4Questions: 2Answers: 0

Using serverSide: true, I set a default search on Column 1 with a val='false':

               "searchCols": [
                    null,
                    {"search": 'false'},
                    null ]

This works ok and the initial filtered data is returned. However, initComplete (where the filters are setup) executes after the initial serverSide call. Column 1 filter definition in initComplete is:

                    api.columns([1]).every( function () {
                        var column = this;
                        var select = $('<select><option value=""></option></select>')
                            .appendTo( $(column.footer()).empty() )
                            .append( '<option value="true">Active</option>' )
                            .append( '<option value="false">Archived</option>' )
                            .on( 'change', function () {
                                var val = $.fn.dataTable.util.escapeRegex($(this).val());
                                column.search( val).draw(true);
                            } );
                    } );

The filter works correctly but the Select Input dropdown does not show the initial search value of 'Archived' (false). How do I get it to display the default search value?

I thought I should be able to do something like this in initComplete after the filter is created:
$('#users-table').DataTable().columns([1]).search('true');
without the Draw so as to not trigger another serverside call but this doesn't work.

Any ideas would be greatly appreciated. Thanks

Answers

  • pcadypcady Posts: 4Questions: 2Answers: 0

    I'll answer my own question:

    select.val('false').attr('selected', 'selected');

    Thanks!

  • saikalyan9981saikalyan9981 Posts: 10Questions: 3Answers: 0

    But this is helpful only when you want to set one default column, how multiple can be set? and also this is distorting the table.

This discussion has been closed.