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

    help - display:none in firefox

    Salve a tutti,

    vorrei eseguire una ricerca nelle righe di una tabella tramite una funzione javascript,
    visualizzando la riga o non visualizzandola della tabella, a seconda se è presente una certa stringa:

    function filterContacts(term, _id, cellNr){

    var s = term.value.toLowerCase();
    var table = document.getElementById(_id);
    var ele;

    for (var r = 0; r < table.rows.length; r++){
    ele = null;
    if (table.rows[r] != null && table.rows[r].cells[cellNr] != null){
    ele = table.rows[r].cells[cellNr].innerHTML;
    if (ele.toLowerCase().indexOf(s)<0 ) {
    table.rows[r].style.display = 'none';
    } else {
    table.rows[r].style.display = 'block';
    }
    }
    }

    }
    </script>

    dove l'id è
    <tbody id="sabc" >
    e segue la tabella
    contenente più
    <tr>.
    <td>
    <div class="nowrap">.....</div>
    </td>
    <td>
    <div class="nowrap">.....</div>
    </td>
    </tr>

    La funzione lavora benissimo in IE,
    ma mi da vari problemi in firefox,
    non nascondendo correttamente le linee,
    presentandomi molte linee vuote.

    Qualcuno conosce qualche problema a riguardo in firefox?
    e qualche workaround?

    grazie mille per ogni suggerimento!
    fabio

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    http://forum.html.it/forum/showthrea...64#post9557164
    qui trovi i valori del display adatti alle tabelle ed agli elementi delle stesse,
    se cambi semplicemente in "block" con i browser aderenti agli standard hai il problema che stai sperimentando
    ciao

  3. #3
    Grazie mille per le informazioni!
    Però sussiste un problema:
    se la mia funzione javascript mi mette 'none' tutti i <tr> della table,
    (questo avviene inserendo in un campo testo una stringa di ricerca che non matcha con nessun <tr>), quando inserisco stringa vuota nel campo testo, e la funzione javascript risetta tutti i display dei <tr> con 'table-row', non mi visualizza nessun <tr>, la tabella rimane dunque vuota. Invece dovrebbe visualizzarmi tutti i <tr>.

    Hai qualche suggerimento in merito?

    Grazie mille ancora
    per ogni suggerimento.
    fabio

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ok, problema completamente diverso da quello che avevo capito

    l' intuito mi dice che non potresti ottenere quello che vuoi con un unico ciclo:
    poniamo l' esempio che nel primo ciclo (quello che hai gia') non si vadano a nascondere/mostrare le righe ma a riempire un array con gli indici delle righe le cui celle contengono una corrispondenza

    serve un altro ciclo per nascondere le righe i cui indici non sono salvati nell' array
    (o, da considerare comunque, mostrare righe precedentemente nascoste in virtu' di un match che non si verifica piu' al momento)

    probabilmente seguirei una procedura del genere...
    ciao

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.