Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448

    Form Select che apre altra select

    Ciao ragazzi avevo aperto un altra discussione però non riesco a modificarla ed eliminarla.
    Na apro un altra nuova mi scuso col moderatore.

    Come da titolo: ho una select con 3 valori vorrei che se l'utente seleziona i primi 2 valori non succede nulla mentre se seleziona il terzo valore in automatico si apre una nuova select che prima non veniva visualizzata.
    ho provato questo codice.

    <script type="text/javascript">
    function Attiva(){
    var sel = document.getElementById('Categoria');
    if ((sel.options[sel.selectedIndex].value != '1') && (sel.options[sel.selectedIndex].value != '2')) {
    document.getElementById('Sub_Categoria').disabled = false;
    }
    else {
    document.getElementById('Sub_Categoria').disabled = true;
    }
    }
    </script>

    <select name="Categoria" id="Categoria" onchange="Attiva();">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    </select>

    <select name="Sub_Categoria" size="1" id="Sub_Categoria" disabled="true">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">Prova 1</option>
    <option value="2">Prova 2</option>
    </select>

    Tutto funziona però la select viene visualizzata disattivata, io vorrei invece che non si vede proprio, ho letto che per non far visualizzare la select basta inserire

    sel.style.display = 'none';

    Ho provato ma non va, dove si deve inserire questo codice?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Venezia
    Messaggi
    66
    ...così funziona...

    <script type="text/javascript">
    function Attiva(){
    var sel = document.getElementById('Categoria');
    if ((sel.options[sel.selectedIndex].value != '1') && (sel.options[sel.selectedIndex].value != '2')) {
    document.getElementById('Sub_Categoria').style.dis play = "block";
    return "block";
    }
    else {
    document.getElementById('Sub_Categoria').style.dis play = "none";
    return "none";
    }
    }
    </script>

    <select name="Categoria" id="Categoria" onchange="Attiva();">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    </select>

    <select name="Sub_Categoria" size="1" id="Sub_Categoria" style="display:none">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">Prova 1</option>
    <option value="2">Prova 2</option>
    </select>

  3. #3
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448
    Beh grazie funziona tutto, pero una altra domanda
    Se inserisco del testo

    Seleziona Categoria
    <select name="Categoria" id="Categoria" onchange="Attiva();">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    </select>

    Seleziona sotto categoria
    <select name="Sub_Categoria" size="1" id="Sub_Categoria" style="display:none">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">Prova 1</option>
    <option value="2">Prova 2</option>
    </select>

    Il secondo testo "Seleziona sotto categoria" viene visuallizzato sempre, come posso fare per farlo sparire quando sono selezionati i primi 2 valori di select?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Venezia
    Messaggi
    66
    ..metti il testo in grassetto e la select nascosta in un div con proprietà display=none
    ...togli la proprietà display none alla select...
    ...modifica lo script in modo da riferirti all oggetto div invece che alla select...
    ...in questo modo testo+select compariranno o scompariranno insieme...

    Ciao

  5. #5
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448
    Grazie per la risposta ma forse sbaglio qualcosa perche non mi funziona

    <script type="text/javascript">
    function Attiva(){
    var sel = document.getElementById('Categoria');
    if ((sel.options[sel.selectedIndex].value != '1') && (sel.options[sel.selectedIndex].value != '2')) {
    document.getElementById('testo').style.display = "block";
    return "block";
    }
    else {
    document.getElementById('testo').style.display = "none";
    return "none";
    }
    }
    </script>
    Seleziona categoria
    <select name="Categoria" id="Categoria" onchange="Attiva();">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    </select>

    <div class="testo" style="display:none">
    Seleziona sottocategoria
    <select name="Sub_Categoria" size="1" id="Sub_Categoria">
    <option value="-1" selected="selected">- Seleziona -</option>
    <option value="1">Prova 1</option>
    <option value="2">Prova 2</option>
    </select>
    </div>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Venezia
    Messaggi
    66
    Sostituisci
    class="testo"
    Con
    id="testo"

  7. #7
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448
    Grazie bedo1 molto gentile e tempestive le tue risposte.

    A presto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Venezia
    Messaggi
    66
    Thanks

  9. #9
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448
    Riapro il post perche ho un altra domanda
    Atrraverso una query salvo i dati in un database in cui vi sono 2 celle (categoria - sub_categoria)

    Se voglio modificare la riga e mi trovo nella pagina di modifica con:
    <?php
    $categoria = $row[categoria'];
    $sub_categoria = $row['sub_categoria'];
    ?>
    se tutti i 2 valori solo settati, come faccio visualizzare entrambe le select?

    Cioe come posso di default selezionare una voce della select?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Venezia
    Messaggi
    66
    ...per selezionare di default un elemento della select mettigli selected="selected"
    Però fai attenzione...xké se su entrambe le select (visibile e invisibile) ci sono elementi selezionati di default, quando sottometti il form vai a scrivere sul db due valori anche se il navigatore ne potrebbe aver scelto solo uno....

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.