Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Filtrare tabella con jquery

    Salve, cerco di sviluppare uno script per filtrare la una tabella molto lunga in base ad un input.

    Questo quello che ho prodotto fin'ora:

    codice:
    //Funzione per filtri
    function filter_table() {
        var value = $(".search").val();
    var rows = $('.rows tr');
    if (value.toUpperCase().replace(/ /g, '').length > 2) {
          var val = $.trim(value).replace(/ +/g, ' ').toLowerCase();
    
    rows.show()
          rows.filter(function() {
              var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
    return !~text.indexOf(val);
    }).hide();
    }
        else if (value.replace(/ /g, '').length <= 2) {
            rows.show();
    }
    }
    
    //Evento Filtro
    $('.search').live("change",function() {
        $(".search").val($(this).val());
    $(".wait").fadeIn(400, function () {
            $.when(filter_table()).then(function () {
                $(".wait").fadeOut(400);
    });
    });
    });
    La ricerca sembra funzionare, paradossalmente ho molti più problemi quando devo nuovamente mostrare tutto. Il browser si freeza ma poi alla fine tutto va, questo su chrome. Su firefox invece la situazione peggiora, dopo una prima ricerca ad ogni successivo tentativo di filtro mi compare il cartello che mi invita a bloccare o attendere l'eseguzione dello script.

    Come potrei ottimizzare tutto cercando di evitare che i browser si blocchino? Chiaramente considerate che la lista è veramente molto lunga.

    Attendo e grazie in anticipo!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Visto l'errore che hai su Firefox verifica che il When non vada in loop, non conoscendolo non posso essere più preciso
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.