Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304

    mostrare checkbox in base a selezione

    Salve a tutti, dovrei visualizzare dei checkbox in base al contenuto di questa select ma non so da dove iniziare:

    Codice PHP:



    <select name=torneo_categoria>
      <
    option value=>
       <
    option value=>A
      
    <option value=2B
      
    <option value=3>C
      
    <option value=4D
     
    </select
    Piu' precisamente se scelgo A allora verranno visualizzati 2 checkbox chiamati 1 e 2 ,mtre se sceglo B altri 2 chiamati 3 e 4 e via fino a D.
    Ho provato in questo modo,supponendo per semplicità di avere solo A e B
    Codice PHP:
    <SCRIPT LANGUAGE="JavaScript"
    function 
    Attiva(opzione){
    if(
    opzione.value == "A"){
           
    document.getElementById('A').style.display "inline";
           
    document.getElementById('B').style.display "none";
            
            }else
    if(
    opzione.value == "B"){
            
    document.getElementById('B').style.display "inline";
           
    document.getElementById('A').style.display "none";
            
           }
          
       }
    </script>

    <select name=torneo_categoria onselect=Attiva("this")>
      <option value=>
       <option value=A >A
      <option value=B> B
      </select>            
     <div id="A" style="display:none"> <input name="opzione" type="checkbox"  value="1" />1 </div>         
    <div id ="B" style="display:none"><input name="opzione" type="checkbox"  value="2"/>2
    </div> 
    Sento che sono sulla strada giusta ma non funge! Ovviamente ho ridimensionato il problema per non scrivere righe in piu', quindi riassumendo se seleziono A mi dovrebbe comparire il checkbox 1 mentre se selziono B il checkbox 2.

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non ho guardato la logica ma mi sono limitato a questo:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Attiva(opzione)
    {
        if(opzione.value == "A")
        {
           document.getElementById('A').style.display = "inline";
           document.getElementById('B').style.display = "none";
        }
        else if(opzione.value == "B")
        {
            document.getElementById('B').style.display = "inline";
            document.getElementById('A').style.display = "none";
            
        }
          
    } 
    // ]]>
    </script>
    
    </head>
    <body>
        <select name="torneo_categoria" onchange="Attiva(this);">
            <option value=""></option>
            <option value="A">A</option>
            <option value="B">B</option>
        </select>
        <div id="A" style="display: none">
            <input name="opzione" type="checkbox" value="1" />1
        </div>
        <div id="B" style="display: none">
            <input name="opzione" type="checkbox" value="2" />2
        </div>
    </body>
    </html>
    ps. Il formato che hai usato è un po' esotico, non l'ho mai visto; va bene che IE digerisce tutto, ma ogni cosa ha il suo limite
    Pietro

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ma per quanto riguarda una select, non sarebbe piu corretto così? :master:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Attiva(scelta)
    {
        if(scelta == "A")
        {
           document.getElementById('A').style.display = "inline";
           document.getElementById('B').style.display = "none";
        }
        else if(scelta == "B")
        {
            document.getElementById('B').style.display = "inline";
            document.getElementById('A').style.display = "none";
            
        }
          
    } 
    // ]]>
    </script>
    
    </head>
    <body>
        <select name="torneo_categoria" onchange="Attiva(this.options[this.selectedIndex].value);">
            <option value=""></option>
            <option value="A">A</option>
            <option value="B">B</option>
        </select>
        <div id="A" style="display: none">
            <input name="opzione" type="checkbox" value="1" />1
        </div>
        <div id="B" style="display: none">
            <input name="opzione" type="checkbox" value="2" />2
        </div>
    </body>
    </html>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Non credo! Se il secondo caso "è più corretto" vuol dire che il primo caso è scorretto, il che non mi sembra; sono solamente modi diversi, ma non necessariamente uno è migliore dell'altro.

    Nel primo caso passo l'oggetto select alla funzione, e la funzione mi ricava il suo value; nel secondo caso passo direttamente il value.

    Pietro

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da pietro09
    :master: Non credo! Se il secondo caso "è più corretto" vuol dire che il primo caso è scorretto, il che non mi sembra; sono solamente modi diversi, ma non necessariamente uno è migliore dell'altro.

    Nel primo caso passo l'oggetto select alla funzione, e la funzione mi ricava il suo value; nel secondo caso passo direttamente il value.

    si si, non intendevo il concetto della select e del valore diretto ma il fatto di andare a pescare il valore in maniera diretta con

    [cpde]
    if(opzione.value == "A")
    [/code]

    io generalmente mi sbatto a scrivere tutto, quindi
    codice:
    if(opzione.option[opzione.selectedIndex].value == "A")
    ma se mi dite che l'accesso diretto così come l' hai scritto tu funziona .. benvenga! risparmio sulla battitura
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da dottwatson
    io generalmente mi sbatto a scrivere tutto, quindi
    codice:
    if(opzione.option[opzione.selectedIndex].value == "A")
    ma se mi dite che l'accesso diretto così come l' hai scritto tu funziona .. benvenga! risparmio sulla battitura

    anche io prima facevo così; poi ho visto che IE, Firefox e Opera accettano l'altra sintassi... e anch'io risparmio sulla battitura
    Pietro

  7. #7
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Ragazzi, grazie 1000 ma non ne funziona neanche 1!!!!!

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da bode
    Ragazzi, grazie 1000 ma non ne funziona neanche 1!!!!!
    Io l'ho provato con IE7, Opera 9.5 e Firefox 3, e va
    Pietro

  9. #9
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Originariamente inviato da pietro09
    Io l'ho provato con IE7, Opera 9.5 e Firefox 3, e va
    Stranissimo anche io l'ho provato con IE7 e FF3 ma non mi compaiono i checkbox! Ho copiato e incollato la tua soluzione!!!Potresti provare ad entrare tu nel sito e dirmi se da te va. Ecco il sito: tennismatch.netsons.org ti devi loggare con username:tcse e password:selargius e selezioni circolo sempre nel login. Dopo vai in inserisci torneo e provi modificando la categoria (A o B) dovrebbero uscirti i checkbox che a me non escono!

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    hai un errore js nella riga
    codice:
    [Break on this error]  var campi = Array("circoli_nome", "circoli_via","circoli_num","circoli_citt�","...

    e ovviamente js si blocca e non inizializza neanche la funzione 'Attiva'
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.