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

    Combobox che modifica una select al volo

    Ciao a tutti, ho provato a cercare in questo forum e per il web ma non ho trovato quello che mi serve.. Spero possiate aiutarmi.

    Dovrei creare una pagina contenente 2 combobox, ammettiamo Range1 e Range2

    Cliccando su Range1 le opzioni di una select dovrebbero essere ad esempio:

    Valore 1
    Valore 2
    Valore 3

    Mentre cliccando su Range2 diverrebbero:

    Valore 4
    valore 5
    Valore 6

    Io credo sia abbastanza facile come applicativo, ma non riesco a farlo funzionare.
    In rete ho trovato solo esempi di select concatenate, tipo Regione > Provincia > Città, ma non è quello che mi serve.
    Ringrazio chiunque sappia aiutarmi.

    Ciao ciao
    Cecco
    www.inconsueta.com - Grafica, Web e Timbri

  2. #2
    si, il problema non è difficile da risolvere. Perchè non provi a postare il codice che hai usato così magari vediamo dov'è l'errore?
    Davide

  3. #3
    Eccolo.. prima ho messo il richiamo a jquery

    Codice PHP:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    Poi questo codice:

    Codice PHP:
    <input type="radio" name="tipologia" id="0102030405060708091011" value="tipo1"/>
    <input type="radio" name="tipologia" id="abcdefghil" value="tipo2"/>
    <input type="radio" name="prodotto" id="prodotto1" value="prodotto1"/>
    <input type="radio" name="prodotto" id="prodotto2" value="prodotto2"/>
    <input type="radio" name="prodotto" id="prodotto3" value="prodotto3"/>
    <select class="input" size="1" name="prezzo" id= "prezzo" style="width:210px;">
        <option value=""<?= $_SESSION['filtro_prezzo'] == '' " selected" "" ?>>
        <?= "Prezzo..." ?>
        </option>
        <option value="01"<?= $_SESSION['filtro_prezzo'] == '01' " selected" "" ?>>fino a 100.000</option>
        <option value="02"<?= $_SESSION['filtro_prezzo'] == '02' " selected" "" ?>>da  100.000 a 200.000</option>
        <option value="03"<?= $_SESSION['filtro_prezzo'] == '03' " selected" "" ?>>da 200.000 a 300.000</option>
        <option value="04"<?= $_SESSION['filtro_prezzo'] == '04' " selected" "" ?>>da 300.000 a 400.000</option>
        <option value="05"<?= $_SESSION['filtro_prezzo'] == '05' " selected" "" ?>>da 400.000 a 500.000</option>
        <option value="06"<?= $_SESSION['filtro_prezzo'] == '06' " selected" "" ?>>da 500.000 a 600.000</option>
        <option value="07"<?= $_SESSION['filtro_prezzo'] == '07' " selected" "" ?>>da 600.000 a 700.000</option>
        <option value="08"<?= $_SESSION['filtro_prezzo'] == '08' " selected" "" ?>>da 700.000 a 800.000</option>
        <option value="09"<?= $_SESSION['filtro_prezzo'] == '09' " selected" "" ?>>da 800.000 a 900.000</option>
        <option value="10"<?= $_SESSION['filtro_prezzo'] == '10' " selected" "" ?>>da 900.000 a 1.000.000</option>
        <option value="11"<?= $_SESSION['filtro_prezzo'] == '11' " selected" "" ?>>oltre 1.000.000</option>
      </select>
      <script type="text/javascript">
     
      $(function() {
        
            $("input:radio[@name =='tipologia']").click(function() {
     
                // store the option elements in an array
                var options = [];
                options[0] = '<option value=""<?= $_SESSION['filtro_prezzo'] == '' " selected" "" ?>><?= "Prezzo..." ?></option>';
                options[1] = '<option value="01"<?= $_SESSION['filtro_prezzo'] == '01' " selected" "" ?>>fino a 100.000</option>';
                options[2] = '<option value="02"<?= $_SESSION['filtro_prezzo'] == '02' " selected" "" ?>>da  100.000 a 200.000</option>';
                options[3] = '<option value="02"<?= $_SESSION['filtro_prezzo'] == '02' " selected" "" ?>>da  200.000 a 300.000</option>';
                options[4] = '<option value="04"<?= $_SESSION['filtro_prezzo'] == '04' " selected" "" ?>>da 300.000 a 400.000</option>';
                options[5] = '<option value="05"<?= $_SESSION['filtro_prezzo'] == '05' " selected" "" ?>>da 400.000 a 500.000</option>';
                options[6] = '<option value="06"<?= $_SESSION['filtro_prezzo'] == '06' " selected" "" ?>>da 500.000 a 600.000</option>';
                options[7] = '<option value="07"<?= $_SESSION['filtro_prezzo'] == '07' " selected" "" ?>>da 600.000 a 700.000</option>';
                options[8] = '<option value="08"<?= $_SESSION['filtro_prezzo'] == '08' " selected" "" ?>>da 700.000 a 800.000</option>';
                options[9] = '<option value="09"<?= $_SESSION['filtro_prezzo'] == '09' " selected" "" ?>>da 800.000 a 900.000</option>';
                options[10] = '<option value="10"<?= $_SESSION['filtro_prezzo'] == '10' " selected" "" ?>>da 900.000 a 1.000.000</option>';
                options[11] = '<option value="11"<?= $_SESSION['filtro_prezzo'] == '11' " selected" "" ?>>oltre 1.000.000</option>';
                options[12] = '<option value="a"<?= $_SESSION['filtro_prezzo'] == 'a' " selected" "" ?>>fino a 400</option>';
                options[13] = '<option value="b"<?= $_SESSION['filtro_prezzo'] == 'b' " selected" "" ?>>da  400 a 600</option>';
                options[14] = '<option value="c"<?= $_SESSION['filtro_prezzo'] == 'c' " selected" "" ?>>da  600 a 800</option>';
                options[15] = '<option value="d"<?= $_SESSION['filtro_prezzo'] == 'd' " selected" "" ?>>da 800 a 1.000</option>';
                options[16] = '<option value="e"<?= $_SESSION['filtro_prezzo'] == 'e' " selected" "" ?>>da 1.000 a 1.200</option>';
                options[17] = '<option value="f"<?= $_SESSION['filtro_prezzo'] == 'f' " selected" "" ?>>da 1.200 a 1.400</option>';
                options[18] = '<option value="g"<?= $_SESSION['filtro_prezzo'] == 'g' " selected" "" ?>>da 1.400 a 1.600</option>';
                options[19] = '<option value="h"<?= $_SESSION['filtro_prezzo'] == 'h' " selected" "" ?>>da 1.600 a 1.800</option>';
                options[20] = '<option value="i"<?= $_SESSION['filtro_prezzo'] == 'i' " selected" "" ?>>da 1.800 a 2.000</option>';
                options[21] = '<option value="l"<?= $_SESSION['filtro_prezzo'] == 'l' " selected" "" ?>>oltre 2.000</option>';
                
                
                var radio = $(this).attr('id');   
                var regexEnabled = radio == '0102030405060708091011' ? /[0-11]/ : /[a-l]/;
              
                // set the option elements in #theOptions to those that match the regular expression
                $("#prezzo").html(
                $(options.join(''))
                    // filter the option elements to only those we want to include in the dropdown
                    .filter( function() { return this.value.match(regexEnabled);})
                );
                
               
            });
        
        });</script>
    Funzionava, prima di inserire anche i tre radio button PRODOTTO, invece ora cliccando su uno di questi tre è come se venisse cliccato TIPO2. Credo sia un problema dovuto all'espressione regolare

    Codice PHP:
    var regexEnabled radio == '0102030405060708091011' ? /[0-11]/ : /[a-l]/; 
    Ma non trovo nulla che possa fare di meglio, al momento.
    www.inconsueta.com - Grafica, Web e Timbri

  4. #4
    Nessuno mi sa rispondere?
    Non mi serve usare necessariamente il codice che ho postato, se avete di meglio, proponete!

    Grazie
    Cecco
    www.inconsueta.com - Grafica, Web e Timbri

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.