Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    47

    Menù dinamico per elementi di una table

    Ho una table con dei sotto-tag td e tr.
    Come faccio a creare un menù che permetta, selezionando ognuna delle sue voci, si far comparire sulla pagina web solo uno scelto sotto-insieme di righe della tabella?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Ti serve anche il javascript per fare una cosa del genere.

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da Eduadie Visualizza il messaggio
    Ti serve anche il javascript per fare una cosa del genere.
    fai un'esempio, se poi è necessario spostare il post ci penso io

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    47
    Bhé si, so che è una somma di html e javascript, un lavoro simile.
    Ma appunto vorrei sapere come si possa effettuare.
    Io ho un sito da modificare che contiene in una table elementi che rappresentano un catalogo di libri.
    Devo creare un menù che filtri per autore piuttosto che per argomento o per fascia di anni.

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da parider Visualizza il messaggio
    Io ho un sito da modificare che contiene in una table elementi che rappresentano un catalogo di libri.
    Devo creare un menù che filtri per autore piuttosto che per argomento o per fascia di anni.
    qui le cose si complicano.
    intanto: di quante voci parliamo, immagino migliaia.
    risolvere con soluzioni client è alquanto limitativo e macchino.
    dovresti attingere alla base dati a fare interrogazioni dinamiche.

    ce l'hai una base dati, vero?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    fai un'esempio, se poi è necessario spostare il post ci penso io
    Chiedo scusa, sinceramente andavo di fretta e ho cercato solo di dare un suggerimento a parider per aiutarlo.

    Eccoti un esempio:
    codice:
    <script type="text/javascript">
    function EnableRow(radio)
    {
    if (radio.checked)
        {
        if (radio.value== "riga1") {
            var riga = document.getElementById("riga2");
            riga.style.display = "none";
            riga = document.getElementById("riga3");
            riga.style.display = "none";
            riga = document.getElementById("riga1");
            riga.style.display = "";
         } else if (radio.value== "riga2") {
            var riga = document.getElementById("riga1");
            riga.style.display = "none";
            riga = document.getElementById("riga3");
            riga.style.display = "none";        
            riga = document.getElementById("riga2");
            riga.style.display = "";        
        } else if (radio.value== "riga3") {
            var riga = document.getElementById("riga1");
            riga.style.display = "none";
            riga = document.getElementById("riga2");
            riga.style.display = "none";
            riga = document.getElementById("riga3");
            riga.style.display = "";        
        }
    }
    }
    </script>
    <table>
        <tr>
            <td>Seleziona la riga che vuoi visualizzare:</td>
            <td>
                <form action="">
                  <input value="riga1" name="radio1" type="radio" onclick="EnableRow(this)" /> Riga1<br>
                  <input value="riga2" name="radio1" type="radio" onclick="EnableRow(this)" /> Riga2<br>
                  <input value="riga3" name="radio1" type="radio" onclick="EnableRow(this)" /> Riga3
                </form>
            </td>
        </tr>
        <tr id="riga1">
            <td>Riga 1</td>
        </tr>
        <tr id="riga2">
            <td>Riga 2</td>
        </tr>
        <tr id="riga3">
            <td>Riga 3</td>
        </tr>
    </table>
    Naturamente come ha detto Vincent.Zeno se usi una base di dati potrebbe essere diversa la soluzione (attraverso query con determinate condizioni al database e mostrarle) ma forse più semplice.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    47
    Grazie a tutti e due!
    Il sito che devo modificare è fatto senza database.
    Quindi, o devo creare un database per poi rendere , in prospettiva futura, il menù che filtra più semplice da scalare, mano a mano che verranno nel tempo aggiunti nuovi libri, oppure farlo solo con javascript (per ora ci sono meno di 30 libri e sarebbe comunque fattibile, in futuro non so).
    Una domanda: per richiamare la funzione che filtra le righe (EnableRow) con un menù select, come devo fare?
    Ho provato usando l'attributo "onchange" e provando a passare sempre "this" ma così non funziona

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    in attesa di una risposta di tipo js faccio un'altro commento:

    hai 30 libri? ottimo (quindi quasi niente): puoi cominciare da subito a farti una base dati e prendere dimestichezza coi problemi di programmazione.
    nel contempo crei l'interfaccia amministrativa e rendi autonomo il cliente (che poi magari demanda a te ma è un'altro discorso).
    fatto questo puoi interrogare e popolare il db a tuo piacimento con tutte le variabili del caso.

    lo so: è facile a dirsi ma è più divertente farlo

    e poi... 'sto lavoricchio in js per filtrare 30 record mi pare anche una perdita di tempo.
    chiaro che la questione è comunque interessante almeno come esercizio, ma prenderei seriamente in considerazione l'opzione dinamica.

    buon lavoro

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    47
    Grazie (nel frattempo, se non altro per curiosità, anche nel caso non lo facessi con js, ho risolto il problema relativo alla mia ultima domanda...mi ero dimenticato di togliere "if (radio.checked)"....per il resto il filtro funzionava anche con un select menù )

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Quote Originariamente inviata da parider Visualizza il messaggio
    Grazie (nel frattempo, se non altro per curiosità, anche nel caso non lo facessi con js, ho risolto il problema relativo alla mia ultima domanda...mi ero dimenticato di togliere "if (radio.checked)"....per il resto il filtro funzionava anche con un select menù )
    Esattamente.
    Magari a parole potrebbe risultare difficile ma con la base di dati secondo me invece è molto più facile selezionare ciò che ti serve e mostrarlo

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.