Si tengo un combobox1 tiene los elementos: Frutas & vegetales.

Necesito mostrar un tro combobox2 basada en el elemento seleccionado en combobox1.

Si el elemento seleccionado en combobox1 es Fruits, entonces combobox2 elementos son: manzana, naranja, etc ..

Si el elemento seleccionado en combobox1 es vegetables, entonces combobox2 elementos son: rábano, lechuga, etc..

¿Cómo puedo hacer que el uso de PHP & HTML? (Por favor, considere la posibilidad de «PHP & sólo HTML» como una condición).

InformationsquelleAutor Aan | 2011-12-03

3 Comentarios

  1. 3

    Lamentablemente sus condiciones (PHP & sólo HTML, no javascript) significa que usted debe recargar la página/cargar otra página con el envío de un formulario después de cada cambio en el combobox, como sería la única manera para que usted entienda lo que es el valor seleccionado desde que se decidió trabajar sólo en el lado del servidor (PHP).

    Si usted decide no tomar ventaja de javascript (o un framework javascript como jQuery) usted no será capaz de modificar los contenidos de su página sin envío del formulario, por lo tanto, usted no será capaz de cambiar el segundo combobox elementos si usted no presentó el primer combobox selección.

  2. 2

    Usted puede hacer esto:

    <html>
        <head>
            <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    $('#combo').change(function(){
                        console.log($(this));
                        $.get( "ABC.php" , { option : $(this).val() } , function ( data ) {
                            $ ( '#comboB' ) . html ( data ) ;
                        } ) ;
                    });
                });
            </script>
        </head>
        <body>
            <div id="comboBox">
                <fieldset>
                    <form>
                        <select name="combo" id="combo">
                            <option value="">-- Select</option>
                            <option value="1">Fruits</option>
                            <option value="2">Vegetables</option>
                        </select>
                        <select name="comboB" id="comboB">
                            <option value="">--</option>
                        </select>
                    </form>
                </fieldset>
            </div>
        </body>
    </html>

    A continuación, en la página en PHP, se obtiene una matriz con los datos para ser añadido a la caja de gota, por supuesto, usted también tendrá que enviar una llamada ajax para rellenar el cuadro desplegable, a continuación, en la página php, usted tiene los siguientes:

    <?php
        $Options = Array ( 
            1 => Array ( 
                'Apple' ,
                'Orange'
            ) , 
            2 => Array ( 
                'Radish' ,
                'Lettuce'
            )
        ) ; 
    
        forEach ( $Options [ $_GET [ 'option' ] ] as $Item ) {
            printf ( '<option value="%s">%s</option>' , $Item , $Item ) ;
        }

    Ahora, sólo necesita ajustar las validaciones, etc ..

    • Knupp: no estoy familiarizado con ajax, mis herramientas son sólo PHP & HTML.. alguna sugerencia?
    • El código está listo, usted acaba de estudio
    • Knupp: no Puede hacer usando HTML & PHP solo?por favor considere que como una condición.
    • no, por desgracia, implicará un javascript
  3. 1

    Usted puede hacer esto con jquery

    Ex:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript" ></script>
    
    <select class="small-input" id="NameCombobox1" name="NameCombobox1">                            
        <option value="0">Select one</option>
        <option value="1">Fruits</option>
        <option value="2">vegetables</option>
    </select>
    
    <div id="result"></div>
    
    <script type="text/javascript">
    
     $('#NameCombobox1').change(function() 
        {                                   
        var NameCombobox1 =  $(this).attr('value'); 
    
        if( NameCombobox1> 0) {
        $.post(
        "PageWithSelect.php", 
        { BRFLink:  NameCombobox1 },
        function(data) {                                                        
            $("#result").append(data);          
        }, 
         "html"
        );
        }
        $('#result').show();
      });
    
    </script>

Dejar respuesta

Please enter your comment!
Please enter your name here