Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/10/2009, 13:35
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Select en php

Ya que no tienes suficientes conocimientos en javascript, te lo explicare con un framework que te ayudara mucho ya que tiene implementadas funciones para hacer esto, este framework de javascript se llama prototype, puedes descargarlo de la pagina oficial prototypejs.org.


En el archivo donde esta el formulario
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <!-- Cargamos el archivo .js que descargamos de prototypejs.org -->
  <script type="text/javascript" src="prototype.js"></script>
  <script type="text/javascript">
    <!--
      function cargaValores(valor)
      {
        // Esta funcion de prototype carga a "select_a_cargar_valores" con el html que devuelve cargador.php
        new Ajax.Updater('select_a_cargar_valores', 'cargador.php?valor='+valor, {});
      }
    //-->
  </script>
  <title></title>
  </head>
  <body>
    <form action="#">
      <label for="my_select">Tipo 1</label>
      <select name="selectName" id="my_select" onchange="cargaValores(this.value)">
        <option value="value1">Valor 1</option>
        <option value="value2">Valor 2</option>
        <option value="value3">Valor 3</option>
      </select>
      <label for="my_select">Tipo 2</label>
      <select id="select_a_cargar_valores" name="selectName2">
        <option value="">Seleccione un tipo 1</option>
      </select>
    </form>
  </body>
</html>
En cargador.php
Código:
<?php
  $valor = $_GET['valor'];
?>
<option value="1">valor del serv 1 de <?php echo $valor; ?></option>
<option value="2">valor del serv 2 de <?php echo $valor; ?></option>
<option value="3">valor del serv 3 de <?php echo $valor; ?></option>
Este es un ejemplo muy basico, ya en cargador.php o donde sea que pretendas cargar estos valores, tendras que capturar la variable $valor y ya sea con if - elseif - else o un switch cargar los valores que necesites basicamente tienes que crear las etiquetas <option> ( solamente ! ) que se van a insertar en el select, ten en cuenta que ese codigo generado va a quedar justo entre la etiqueta <select id="select_a_cargar_valores" name="selectName2"> asi que ten cuidado.

Un tip interesante: si das en firefox ctrl+u te mostrara el codigo de la pagina, pero como lo que esta entre <select id="select_a_cargar_valores" name="selectName2"> es insertado por javascript no aparecera, si por algun motivo queires ver el codigo indsertado por javascript, selecciona el select u el label, da clic derecho y luego da en "ver codigo fuente seleccionado" asi te mostrara el codigo insertado por javascript.

Siento no poder ser mas especifico en cuanto al funcionamiento de esto, pero ya que no sabes mucho javascript. no quiero complicar tanto el asunto ni entrar mucho en detalles