2009-12-17 8 views
181

Я использую jQuery DataTables.Как удалить панель поиска и нижний колонтитул, добавленные плагином jQuery DataTables?

Я хочу удалить панель поиска и нижний колонтитул (показывая, сколько строк там видно), которое добавлено в таблицу по умолчанию. Я просто хочу использовать этот плагин для сортировки, в основном. Это можно сделать?

ответ

342

Для DataTables> = 1,10, используйте:

$('table').dataTable({searching: false, paging: false}); 

Для DataTables < 1,10, использование:

$('table').dataTable({bFilter: false, bInfo: false}); 

или с использованием чистого CSS:

.dataTables_filter, .dataTables_info { display: none; } 
+4

Как хорошо, как @antpaw комментарий, и похоже, работает в большинстве случаев, он не работает, если для каждого столбца происходит фильтрация, как в этом примере: http: //datatables.net/release-datatables/extras/FixedColumns/col_filter.html. Помните! –

+0

@JanisPeisenieks URL-адрес примера взломан: https://www.datatables.net/extensions/fixedcolumns/ – antpaw

+0

'filter: false' работает для меня сейчас (2015-12-06). – zx1986

6

быстрый и грязный способ это выяснить класс колонтитула и скрыть его с помощью JQuery или CSS:

$(".dataTables_info").hide(); 
+2

статических бега с Jquery ISNT действительно хороший – antpaw

0

Вы можете скрыть их с помощью CSS:

#example_info, #example_filter{display: none} 
+0

неправильные селекторы – antpaw

+0

Не «неправильно», просто другое. Это зависит от того, хотите ли вы скрыть все экземпляры (по классу, как в вашем ответе), или конкретный экземпляр (по идентификатору, как у меня). – graphicdivine

4

если вы используете ThemeRoller:

.dataTables_wrapper .fg-toolbar { display: none; } 
+0

+1 Спасибо, Это указывало мне в правильном направлении. Я тоже не хотел скрывать заголовок, поэтому мне просто нужен нижний колонтитул. классы ui-corner-bl и ui-corner-br применяются только к нижнему колонтитулу, поэтому я использовал один из них, чтобы получить оболочку нижнего колонтитула ........ $ (". ui-corner-bl").скрывать(); – Kevbo

77

Заканчивать http://www.datatables.net/examples/basic_init/filter_only.html для списка функций в показать спрятать.

Вы хотите установить «bFilter» и «bInfo» в false;

$(document).ready(function() { 
    $('#example').dataTable({ 
     "bPaginate": false, 
     "bFilter": false, 
     "bInfo": false 
       }); 
}); 
+1

+1 для ссылки на документацию – Barett

+0

@ Эрик спасибо, что он работает для меня, но я хочу показать «bPaginate» только я не хочу показывать «binfo», как я могу реализовать, если бы я сделал «bInfo» = false и «bInfo» = bPaginate "= true, тогда оба показывают – amit

31

Вы также можете не рисовать колонтитулы на всех, установив sDom: http://datatables.net/usage/options#sDom

'sDom': 't' 

покажет только таблицу, ни колонтитулы или что-нибудь.

Он обсудил некоторые здесь: http://www.datatables.net/forums/discussion/2722/how-to-hide-empty-header-and-footer/p1

+1

Это было потрясающе! – zmanc

+1

Это должно быть добавлено к ответу антавы. Это эмоционально скрывает разделители фильтра и информации, оставшиеся при передаче «bFilter»: false, «bInfo»: false. –

+0

Это удаляет разбиение на страницы в нижнем колонтитуле. Я не думаю, что это хорошая практика. – Anirudh

0

Я сделал это, назначая сноску идентификатора, а затем укладку с помощью CSS:

<table border="1" class="dataTable" id="dataTable_${dtoItem.key}" > 
    <thead> 
     <tr> 
      <th></th> 

     </tr> 
    </thead> 
<tfoot> 
    <tr> 
      <th id="FooterHidden"></th> 
    </tr> 
</tfoot> 
<tbody> 

    <tr> 

       <td class="copyableField"></td> 

    </tr> 
</tbody> 
</table> 

затем укладка с помощью CSS:

#FooterHidden{ 
    display: none; 
} 

Как и выше упомянутые способы не работают для меня.

1

Вы можете использовать атрибут sDom. Код выглядит примерно так.

$(document).ready(function() { 
    $('#example').dataTable({ 
     'sDom': '"top"i' 
       }); 
}); 

İt скрывает поиск и пейджер.

3

Здесь вы можете добавить свой код в код sDom, вверху находится панель поиска.

$(document).ready(function() { 
    $('#example').dataTable({ 
"sDom": '<"top">rt<"bottom"flp><"clear">' 
}); 
}); 
4
<script> 
$(document).ready(function() { 
    $('#nametable').DataTable({ 
     "bPaginate": false, 
     "bFilter": false, 
     "bInfo": false 
    }); 
}); 
</script> 

в вашем DataTable конструктору

https://datatables.net/forums/discussion/20006/how-to-remove-cross-icon-in-search-box

+0

. Этот ответ не имеет ссылки на какой-либо документ, и вы не предоставили рабочий ответ –

+0

спасибо! работа хорошо. – KingRider

+0

Это работает для меня версия 1.9.4, спасибо, + 1 – Miron

1

По словам @Scott Стаффорд sDOM является наиболее apropiated свойство, чтобы показать, скрыть или переместить элементы, которые составляют DataTables. Я думаю, что sDOM теперь устарел, с фактическим патчем это свойство теперь dom.

Это свойство позволяет также установить некоторый класс или идентификатор элемента, чтобы упростить стильную стильную работу.

Проверьте официально документацию здесь: https://datatables.net/reference/option/dom

Этот пример покажет только таблицу:

$('#myTable').DataTable({ 
    "dom": 't' 
}); 
13

Если вы используете пользовательский фильтр, вы можете захотеть, чтобы скрыть окно поиска, но все еще хотите, чтобы включить функция фильтра, поэтому bFilter: false - это не так. Вместо этого используйте dom: 'lrtp', по умолчанию 'lfrtip'. Документация: https://datatables.net/reference/option/dom

3

Это может быть сделано путем простого изменения конфигурации:

$('table').dataTable({ 
     paging: false, 
     info: false 
}); 

Но чтобы скрыть пустой колонтитул; этот кусок кода делает трюк:

$('table').dataTable({ 
     paging: false, 
     info: false, 

     //add these config to remove empty header 
     "bJQueryUI": true, 
     "sDom": 'lfrtip' 

}); 
0

Я думаю, что самый простой способ:

<th data-searchable="false">Column</th> 

Вы можете редактировать только таблицу, вы должны изменить, без изменения общего CSS или JS.

4
var table = $("#datatable").DataTable({ 
    "paging": false, 
    "ordering": false, 
    "searching": false 
}); 
0

Просто напоминание, вы не можете инициализировать DataTable на том же <table> элемент дважды.

Если вы столкнулись с таким же вопросом, то вы можете установить searching и paging ложь при инициализации DataTable на вашем HTML <table> как этого

$('#tbl').DataTable({ 
    searching: false, 
    paging: false, 
    dom: 'Bfrtip', 
    buttons: [ 
     'copy', 'csv', 'excel', 'pdf', 'print' 
    ] 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^