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?
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?
Ti serve anche il javascript per fare una cosa del genere.
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.
Chiedo scusa, sinceramente andavo di fretta e ho cercato solo di dare un suggerimento a parider per aiutarlo.
Eccoti un esempio:
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.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>
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
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 dirsima è 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![]()
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ù )