2

By default, datatables has 4 sizes of records to show: 10,25,50,100. All the option are available by default no matter how many records in table.

If table has 18 entries is there any option to disable or remove 50 and 100 from the dropdown. or if disable row count if records are less than 10.

I can't find either of these in the documentation.

2 Answers 2

1

You modify the length menu by the aLengthMenu setting

$('#example').dataTable({
   aLengthMenu : [5, 10, 25, 50]
});

To dynamically change the menu, you must access the generated <select> box in code. It has a name, which always is table id + _length, so a table with the id example will have a length menu with the name example_length

Here an example, dynamically changing the length menu to hold 5 and 10 only

var dataTable = $('#example').dataTable();
var newLength = [5, 10];
var aLengthMenu = $('select[name=example_length]');
$(aLengthMenu).find('option').remove();
for (var i=0;i<newLength.length;i++) {
  $(aLengthMenu).append('<option value="'+newLength[i]+'">'+newLength[i]+'</option>');
}

To disable the menu, simply add the disabled attribute

$(aLengthMenu).prop('disabled', 'disabled');

working demo with the code above http://jsfiddle.net/Mz5WZ/

Sign up to request clarification or add additional context in comments.

Comments

0

You may be looking for this option, used in the constructor? https://datatables.net/reference/option/lengthChange

In which case, simply add:

$("#example_dialog").DataTable({
  "lengthChange": false,
});

To change the specific menu items, use the lengthMenu option in the constructor: https://datatables.net/reference/option/lengthMenu

While the DataTables plugin is quite useful, its documentation is arguably poor: "ornate, but smug" might be a good description.

In most cases, they list a few examples up front, then bury details behind several links and with poorly phrased descriptions on how to find further info. Also, their formatting choices in these docs are absurdly wretched for people with visual impairments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.