Buenas a todos!!!
Tengo el siguiente inconveniente con un par de combobox dependientes, aunque en google aparece mucho con respecto al tema, no he logrado hacer lo que necesito, espero que me puedan colaborar con la siguiente duda:
Tengo un par de combobox que se llaman "select_numero_obilga" y "select_ficha_catastral" respectivamente. En el "select_numero_obilga" cargo el los datos desde una base de datos y tiene una funcion que se invoca desde el evento onchange como se muestra a continuacion:
<select name="select_numero_obilga" id="select_numero_obilga" onchange="seleccion_destino(this,this.form.select_ficha_catastral)">
<option></option>
<?php
$base_path = "../../";
require_once( $base_path . 'configuration.php' );
$datos= new Jconfig();
$db_host= $datos->host;
$db_nombre=$datos->db;
$db_user=$datos->user;
$db_pass=$datos->password;
$conexion= mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_nombre,$conexion);
$consulta = "SELECT numero_obligacion FROM obligacion";
if($resultado= mysql_query($consulta))
while ($query= mysql_fetch_array($resultado)){
?>
<option value ="<?php echo $query['numero_obligacion']; ?>"><?php echo $query['numero_obligacion']; ?></option>
<?php }
mysql_free_result($resultado);
mysql_close();
?>
</select></td>
<select name="select_ficha_catastral" id="select_ficha_catastral">
<option></option>
</select>
Este combobox funciona sin problema, entonces se supone que al elegir una de las opciones que desplega, se debe tomar este dato, para posteriormente realizar una consulta con este dato a la base de datos y mostrar la lista en el combobox llamado "select_ficha_catastral", para esto tengo el siguiente script:
<script type="text/javascript">
var global;
function selectopcion(texto,valor){
this.texto = texto
this.valor = valor
}
var Amazonas=new Array()
var cont=0;
<?php
1 $base_path = "../../";
2 require_once( $base_path . 'configuration.php' );
3 $datos= new Jconfig();
4 $db_host= $datos->host;
5 $db_nombre=$datos->db;
6 $db_user=$datos->user;
7 $db_pass=$datos->password;
8 $conexion= mysql_connect($db_host, $db_user, $db_pass);
9 mysql_select_db($db_nombre,$conexion);
10 $consulta = "SELECT id_referencia FROM bien WHERE numero_obligacion_FK='748303'";
11 if($resultado= mysql_query($consulta))
12 while ($query= mysql_fetch_array($resultado)){
13 echo "Amazonas[cont++]= new selectopcion('".$query['id_referencia']."','".$query['id_referencia']."');n";
14 }
15?>
function seleccion_destino(cual,donde){
if(cual.selectedIndex != 0){//selectIndex es el indice de la opcion por defecto empieza en 1
donde.length=0
cual = eval(cual.value)//value da nombre del objeto en este caso de la del menu lista
for(m=0;m<cual.length;m++){
var nuevaOpcion = new Option(cual[m].texto);
donde.options[m] = nuevaOpcion;
if(cual[m].valor != null){
donde.options[m].value = cual[m].valor
}
else{
donde.options[m].value = cual[m].texto
}
}
}
}
</script>
En la linea 10, que es la consulta, esta esta correcta, pero en vez de hacer la comparacion con el numero '748303', se debe hacer con el valor que se selecciono en el combobox "select_numero_obilga" , esto como se hace??
Y el otro problema que tengo es en la linea 13, ya que se supone que deberia al menos funcionar, pero no me esta mostrando nada en el segundo combobox, tendre algun error??
Muchas gracias por la atencion!! y disculpen lo extenso