jQuery DataTablesプラグインによって追加された検索バーとフッターを削除するにはどうすればよいですか?


252

私はjQuery DataTablesを使用しています

デフォルトでテーブルに追加されている検索バーとフッター(表示されている行の数を示す)を削除したいと思います。基本的に、このプラグインをソートに使用したいだけです。これはできますか?


あなたは効率的に使用することができsDom、ここで説明したように- stackoverflow.com/a/53885264/5729813
Tushar Walzade

回答:


486

以下のためのDataTable> = 1.10、使用:

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

以下のためのDataTable <1.10、使用:

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

または純粋なCSSを使用する:

.dataTables_filter, .dataTables_info { display: none; }

7
@antpawコメントと同じように、ほとんどの場合動作すると思われますが、次の例のように、各列に対してフィルタリングが行われている場合は機能しません:datatables.net/release-datatables/extras/FixedColumns/…。注意してください!
Janis Peisenieks 2013

@JanisPeisenieksサンプルURLは壊れています:datatables.net/extensions/fixedcolumns
antpaw

7
これが質問に答えないので、なぜこれが受け入れられるのかわかりません。問題は、検索バーとフッターを削除することであり、検索を完全に無効にすることではありませんでした。
user1563544 2018

完全にセットにあなたが持っているフッターを削除するpaging:falseinfo:false、だけではなくpaging:false
マイク・タイソンD3ViD

1
@ user1563544のコメントに追加して、検索バーを非表示にし、機能を無効にしない方法はありますか?(CSSトリック以外?)
vignz.pie 2018

88

表示/非表示にする機能のリストについては、http://www.datatables.net/examples/basic_init/filter_only.htmlを確認してください

「bFilter」と「bInfo」をfalseに設定する必要があります。

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

@エリックは私のために働いてくれてありがとう、しかし私は「bPaginate」だけを見せたいです。
アミット

最新バージョンのDataTablesは{paging: false, info: false}
次のとおり

42

次のように設定しても、ヘッダーまたはフッターをまったく描画できませんsDomhttp : //datatables.net/usage/options#sDom

'sDom': 't' 

テーブルだけを表示し、ヘッダーやフッターなどは表示しません。

それはここでいくつか議論されています:http : //www.datatables.net/forums/discussion/2722/how-to-hide-empty-header-and-footer/p1


2
これはアントポーの答えに追加する必要があります。これにより、「bFilter」:false、「bInfo」:falseを渡したときに残っているフィルターおよび情報プレースホルダーdivが効果的に非表示になります。
tibc-dev

これにより、フッターの改ページが削除されます。それは良い習慣だとは思いません。
Anirudh 2017年

1
現在は「dom」と呼ばれ、このオプションでさらに多くの制御が可能です。datatables.net/reference/option/domを
unkreativ

1
これが正解です。cssおよびjsの微調整に関するその他の回答はすべてハックです。DataTablesを適切に使用したい場合は、この方法で行います。例として、検索ボックスを除くすべての部分(ページング、ページ長など)を表示domする場合は、ltiprsee datatables.net/reference/option/dom
onefootswillの



7

すばやく簡単な方法は、フッターのクラスを見つけて、jQueryまたはCSSを使用して非表示にすることです。

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

4

テーマローラーを使用している場合:

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

+1ありがとうございます。これは私を正しい方向に向けました。ヘッダーも非表示にしたくなかったので、フッターだけが必要でした。ui-corner-blクラスとui-corner-brクラスはフッターにのみ適用されるので、どちらかを使用してフッターラッパーを取得しました........ $( "。ui-corner-bl")。hide( );
Kevbo 2018

4

@ScottスタッフォードsDOMが述べたように、DataTableを構成する要素を表示、非表示、または再配置するための最も適切なプロパティです。これsDOMは古くなっていると思いますdom。実際のパッチでは、このプロパティは現在です。

このプロパティを使用すると、いくつかのクラスまたはIDを要素に設定することもできるため、スタイリッシュに操作できます。

こちらの公式ドキュメントを確認してください:https : //datatables.net/reference/option/dom

この例では、テーブルのみが表示されます。

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


3

ここではsDom、コードに要素を追加できます。上部の検索バーは非表示です。

$(document).ready(function() {
    $('#example').dataTable( {
"sDom": '<"top">rt<"bottom"flp><"clear">'
 } );
} );

3

これは、構成を変更するだけで実行できます。

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

しかし、空のフッターを隠すために; このコード部分はトリックを行います:

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

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

});

2

DataTable同じ<table>要素で2回初期化することはできません。

あなたは同じ問題が発生した場合、あなたは設定することができますsearchingし、pagingあなたのHTML上のDataTableの初期化中に偽<table>のように

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

1

あなたはCSSを介してそれらを隠すことができます:

#example_info, #example_filter{display: none}

「間違っている」のではなく、単に異なるだけです。すべてのインスタンスを非表示にするか(回答のようにクラスごと)、または特定のインスタンスを(IDのように)非表示にするかによって異なります。
graphicdivine 2009

1

sDom属性を使用できます。コードは次のようになります。

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

İtは検索ボックスとポケットベルボックスを非表示にします。


1

DataTables 1.10.5以降、HTML5 data- *属性を使用して初期化オプションを定義できるようになりました。

- のDataTableのドキュメント:HTML5データ- *属性-テーブルオプション

したがってdata-searching="false" data-paging="false" data-info="false"、で指定できますtable。たとえば、次の表では、検索、ページングの適用、または情報ブロックの表示が許可されていません。

<table id="example" class="display" width="100%" data-searching="false" data-paging="false" data-info="false">
    <thead>
        <tr>
            <th>Name</th>
            <th data-orderable="false">Avatar</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Tiger Nixon</td>
            <td><img src="https://www.gravatar.com/avatar/8edcff60cdcca2ad650758fa524d4990?s=64&amp;d=identicon&amp;r=PG" alt="" style="width: 64px; height: 64px; visibility: visible;"></td>
            <td>2011/04/25</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Garrett Winters</td>
            <td><img src="https://www.gravatar.com/avatar/98fe9834dcca2ad650758fa524d4990?s=64&amp;d=identicon&amp;r=PG" alt="" style="width: 64px; height: 64px; visibility: visible;"></td>
            <td>2011/07/25</td>
            <td>$170,750</td>
        </tr>
        ...[ETC]...
    </tbody>
</table>

https://jsfiddle.net/jhfrench/17v94f2s/で実際の例を参照してください

このアプローチの利点は、$('table.apply_dataTables').DataTable()テーブルごとにdataTablesオプションを構成できる一方で、標準のdataTables呼び出し(つまり)が可能になることです。


0

これを行うには、フッターにIDを割り当て、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;
}

上記のように、私にとってはうまくいきません。


0

私は最も簡単な方法だと思います:

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

一般的なCSSまたはJSを変更せずに、変更する必要があるテーブルのみを編集できます。


0

たとえば列入力フィルターがあるため、またはテーブルから結果を返すことができるCMS検索フォームが既にあるために、検索フォームを非表示にするだけの場合は、フォームを調べてそのIDを取得するだけです- (これを書いている時点では、そのように見えます[tableid]-table_filter.dataTables_filter)。次に[tableid]-table_filter.dataTables_filter{display:none;}、データテーブルの他のすべての機能を保持するだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.