Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    DataTables: applicare filtro al click su una riga

    ciao!

    pensavo fosse una cosa banale, ma non riesco a venirne fuori.
    in pratica su una datatables devo impostare il valore della casella di ricerca al click su una riga.
    e di conseguenza applicare il filtro secondo il valore cliccato:
    codice:
    function dtSumQtaImpCurrent(id, colOrder, typeOrder, sumQta, sumImp) {
        $(id).dataTable({
            responsive: true,
            "footerCallback": function (row, data, start, end, display) {
                var api = this.api(), data;
                var intVal = function (i) {
                    return typeof i === 'string' ? i.replace(/[\$,]/g, '') * 1 : typeof i === 'number' ? i : 0;
                };
                totalQta = api.column(sumQta, {search: 'applied'}).data().reduce(function (a, b) {
                    return intVal(a) + intVal(b);
                });
                totalImp = api.column(sumImp, {search: 'applied'}).data().reduce(function (a, b) {
                    return intVal(a) + intVal(b);
                });
                $(api.column(sumQta).footer()).html(totalQta);
                $(api.column(sumImp).footer()).html(totalImp);
            },
            "lengthMenu": [[10, 25, 50, 100, 200, -1], [10, 25, 50, 100, 200, "All"]],
            "aaSorting": [[colOrder, typeOrder]],
            language: {
                url: urlIta
            }
        }).on('click', 'tr', function () {
            $('.input-sm').val($("td:first", this).text());
        });
    }
    al click la casella viene riempita correttamente.
    ma per applicare il filtro devo cmq intervenire manualmente.
    basta un semplice spazio, quindi nulla di che.
    ma non è cmq comodo, e il click perde di significato se poi devo agirre cmq manualmente.
    avete qualche idea?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Non vorrei sbagliare ma dopo aver riempito l'input text con $('.input-sm').val($("td:first",this).text()); dovresti richiamare i metodi per innescare la ricerca. Non ricordo esattamente quale ma tipo questo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.