web-dev-qa-db-fra.com

JQuery Datatable - Placement d'un fichier GIF de chargement personnalisé au lieu du texte "Traitement" par défaut

J'utilise la version actuelle de JQuery Datatable. J'ai implémenté le traitement côté serveur. Existe-t-il un moyen de placer notre propre GIF de chargement au lieu du texte "Traitement" de dafault?

Voici mon code HTML:

<table id="table" class="table table-striped table-bordered table-hover display nowrap" cellspacing="0" width="100%">
  <thead>
    <tr bgcolor="#76b900">
      <th> Request #</th>
      <th>Description</th>
      <th>Created By</th>
    </tr>
  </thead>
</table>

Voici mon code JS:

$('#table').DataTable({
    "dom": '<"top"lB>rt<"bottom"ip>', // DataTable element position


    "lengthMenu": [
      [10, 25, 50, 100, 500],
      [10, 25, 50, 100, 500]
    ], // page length options
    "pageLength": 25, // default page length
    "pagingType": "full_numbers", // pagination related buttons

    "ordering": true,
    "order": [
      [0, "desc"]
    ],

    "scrollX": true, // enables horizontal scrolling      
    "filter": true,
    "responsive": true,
    "serverSide": true,
    "info": true, // control table information display field
    "processing": true,
    "stateSave": true, //restore table state on page reload,

    "ajax": {
      "url": Helper.baseUrl() + "Search/LoadData",
      "type": "POST",
      "datatype": "json",
      "data": function(d) {
        d.searchParams = searchFilters();
      },
    },

    "columns": //Binds values fetched from the database to their respective columns
      [{
      "data": "RequestNo",


    }, {
      "data": "Description"
    }, {
      "data": "CreatedBy"
    }],
  });

METTRE &AGRAVE; JOUR

Ceci est mon code JS mis à jour pour le traitement:

"language": {
            "infoFiltered":"",
            "processing": "<img src='~/Content/images/loadingNew.gif' />"
        },

Cela n'a pas fonctionné. Est-ce que j'inclus le chemin dans une mauvaise technique?

5
Mr.SK

Regardez cette démo que j'ai créée.

  var table = $('#changeLogTable').DataTable({
        "bLengthChange": false,
        "bPaginate": true,
        "bInfo": false,
        "autoWidth": false, 
        "order": [[0, "desc"]],
        "processing": true,
        "serverSide": true,
        "sAjaxSource": "data.js",
         oLanguage: {sProcessing: "<div id='loader'></div>"}
    }); 

})

5
Offir Pe'er

Juste au cas où quelqu'un voudrait avoir une icône fontawesome à cet endroit, les options suivantes peuvent être utilisées:

"language": 
{          
"processing": "<i class='fa fa-refresh fa-spin'></i>",
}
2
MR_AMDEV

RESOLU: -  

Au départ, j'avais inclus path de manière incorrecte.
Utilisation de @Offir Pe'er answer Je l’ai fait fonctionner (avec la seule modification actuellement dans mon code est que j’ai utilisé la version actuelle, à savoir la syntaxe 1.10).

Voici à quoi ressemble mon code: -

"language": 
{          
"processing": "<img style='width:50px; height:50px;' src='Content/images/loadingNew.gif' />",
}

Il me suffisait donc de supprimer le '~' de mon code précédemment mis à jour.

Voici ma structure de répertoire:

Dossier racine

  • Contenu 

    • Images 

      • chargementNouveau.gif
  • Les scripts

    • MyJSFile.js
1
Mr.SK