Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2011, 11:22
rambo_3
 
Fecha de Ingreso: enero-2010
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 0
ComboBox en PHP

Hola estoy haciendo dos combos dependientes y me gustaria que el primer combo me aparezca en blanco o con el texto "seleccione actividad", asi el usuario se ve obligado a seleccionar la opcion correspondiente. De este modo que lo tengo programado se ve la actividad pero no me aparece la subactividad si no navego un poco por el primer combo.

Espero puedan ayudarme.

Código PHP:
<script type="text/javascript">
var peticion = false;
var  testPasado = false;
try {
  peticion = new XMLHttpRequest();
  } catch (trymicrosoft) {
  try {
  peticion = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
  try {
  peticion = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (failed) {
  peticion = false;
  } 
  }
}
if (!peticion)
alert("ERROR AL INICIALIZAR!");


function cargarCombo (url, comboAnterior, element_id) { 
    //Obtenemos el contenido del div
    //donde se cargaran los resultados
    var element =  document.getElementById(element_id);
    //Obtenemos el valor seleccionado del combo anterior
    var valordepende = document.getElementById(comboAnterior)
    var x = valordepende.value
    //construimos la url definitiva
    //pasando como parametro el valor seleccionado
    var fragment_url = url+'?Id='+x;
    element.innerHTML = '<img src="Imagenes/loading.gif" />'; 
    //abrimos la url
    peticion.open("GET", fragment_url); 
    peticion.onreadystatechange = function() { 
        if (peticion.readyState == 4) {
    //escribimos la respuesta
    element.innerHTML = peticion.responseText;
        } 
    } 
   peticion.send(null); 

</script>
<p><label for="actividad">Actividad:</label>
<select name="Actividades"  onchange="javascript:cargarCombo('Subactividades.php', 'Actividades', 'Div_Subactividades')" id="Actividades">

<?
$servidor 
'xxxx';
$usuario 'xxxx';
$contrasena 'xxxx';
$datos 'xxxx';
mysql_connect($servidor,$usuario,$contrasena);
@
mysql_select_db($datos) or die( "Unable to select database");
$query "SELECT * FROM t_actividades ORDER BY Actividad ASC";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while (
$i $num) {
         
$Id mysql_result($result,$i,"Id");
         
$Actividad mysql_result($result,$i,"Actividad");
?>
<option value=<? echo $Id?> selected>
<? echo $Actividad ?>
</option>
<?
$i
++;
}
?>
</select>
</p>
<p>
<div id="Div_Subactividades">
<label for="SubActividad">SubActividad:</label>
<select name="SubActividades"  id="SubActividades" class="select">
</select> 
</div>
</p>