Foros del Web » Programando para Internet » Javascript »

dos Combobox dinamicos...Help me!!

Estas en el tema de dos Combobox dinamicos...Help me!! en el foro de Javascript en Foros del Web. Hola a todos: Espero me puedan colaborar con lo siguiente, en un formulario tengo 2 combobox, dependiendo de la opcion que escoja en el primero, ...
  #1 (permalink)  
Antiguo 01/03/2010, 02:53
 
Fecha de Ingreso: enero-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Exclamación dos Combobox dinamicos...Help me!!

Hola a todos:

Espero me puedan colaborar con lo siguiente, en un formulario tengo 2 combobox, dependiendo de la opcion que escoja en el primero, el segundo debe desplegar las opciones disponibles en la Base de datos en una tabla de movimiento que tiene el mismo id_cliente. he encontrado y aplicado a lo que necesito muchos codigos pero como soy novata en el asunto no sé cual puede ser mi error, la verdad ya me perdí

Agradezco si alguien puede indicarme cual es mi error, o un enlace donde pueda encontrar ayuda, este es el codigo que tengo para las funciones en javascript y el form:

Funciones:
<script type = “text/javascript”>
function ComponerLista(xPro) {
document.forms.FrmProyecto.selectCliente.disabled = true;
document.forms.FrmProyecto.selectContacto.length = 0;
CargarContacto(xPro);
document.forms.FrmProyecto.selectCliente.disabled = false;
}
function CargarContacto(xPro) {
var o
document.forms.FrmProyecto.selectContacto.disabled =true;
<? $querycliente2="select upc.id_usuario, upc.id_cliente, upc.id_cliente, persona.nombre1, persona.nombre2
from upc inner join usuarios on upc.id_usuario=usuarios.id_usuario
inner join tipo_usuarios on usuarios.id_tipo_usuario=tipo_usuarios.id_tipo_usu ario
inner join persona on usuarios.id_persona=persona.id_persona where usuarios.id_tipo_usuario='5'";

$lista_cliente2=mysql_query($querycliente2);
$clientes2=mysql_num_rows($lista_cliente2);
for($i=0;$i<$clientes2;$i++)
{
$nomContac2=mysql_result($lista_cliente2,$i,id_cli ente);
$nomCliente2=mysql_result($lista_cliente2,$i,nombr e1);
$numCliente2=mysql_result($lista_cliente2,$i,id_us uario);?>

if (xPro == "<?php echo $nomContac2; ?>") {
o = document.createElement("OPTION");
o.text = "<?php echo $nomCliente2; ?>";
o.value = "<?php echo $numCliente2; ?>";
document.forms.frmDatos.selectContacto.options.add (o);
}
<?
}
?>
document.forms.FrmProyecto.selectContacto.disabled =false;
}
</script>




Codigo del formulario en los select:


<tr>
<td ><form id="FrmProyecto" name="FrmProyecto" method="post" action="IngProyecto.php">
</td>
<td><select name="selectCliente" onchange="ComponerLista(this.value)" >


<? $querycliente="SELECT DISTINCT(razon_social) from cliente inner join upc on upc.id_cliente=cliente.id_cliente inner join usuarios on upc.id_usuario=usuarios.id_usuario inner join tipo_usuarios on usuarios.id_tipo_usuario=tipo_usuarios.id_tipo_usu ario inner join persona on usuarios.id_persona=persona.id_persona where usuarios.id_tipo_usuario='5' ORDER BY cliente.id_cliente ASC";

$lista_cliente=mysql_query($querycliente);
$clientes=mysql_num_rows($lista_cliente);
for($i=0;$i<$clientes;$i++)
{
$nomCliente=mysql_result($lista_cliente,$i,razon_s ocial);
$numCliente=mysql_result($lista_cliente,$i,id_clie nte);?>
<option id="<?php echo $numCliente;?>" value="<?php echo $numCliente;?>"><?php echo $nomCliente;?></option>
<?php
}

?></select></td>

<td><select name="selectContacto">
</select></td>

Mil Gracias por su atención y pronta ayuda

Última edición por niuzka2354; 01/03/2010 a las 02:55 Razón: Suscripción de Tema - Tipo de Notificación:
  #2 (permalink)  
Antiguo 01/03/2010, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde Configuración a Javascript
  #3 (permalink)  
Antiguo 06/05/2010, 01:55
 
Fecha de Ingreso: enero-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: dos Combobox dinamicos...Help me!!

BUeno como nunca nadie respondio y necesitaba hacer esto rapido....y por si a alguien le sirve....logre hacer los combos,no sé si estan bien de esta manera pero los metí en un iframe para que al momento de hacer el evnto onchange no me enviara el form inicial y alli los rescate con variables de sesion...



ahora lo que me gustaria y si de prontooooalguien sabe, es que cuando edite el formulario, en los combos muestre el value sea el que previamente se habia seleccionado...Mil Gracias


<?php

// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form name='combobox' id='combobox' action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
// Formar Selec "cliente".
echo "<select name=\"selectCliente\" onChange=\"this.form.submit()\">\n";

echo "<option value=\"\">- Selecciona -</option>\n";

$SQLconsulta_cliente="SELECT distinct(cliente.razon_social) from cliente inner join cliente_contacto on cliente_contacto.id_cliente=cliente.id_cliente inner join usuarios on cliente_contacto.id_usuario=usuarios.id_usuario";
$consulta_cliente = mysql_query($SQLconsulta_cliente) or die(mysql_error());

While ($registro_cliente=mysql_fetch_assoc($consulta_cli ente)){
// Se mira si el ID del registro es el mismo q el $list_cliente q recibimos si hemos cambiado el select contactos.
// Se selecciona en consecuencia (selected) la opción elegida.

if ($list_cliente == $registro_cliente['razon_social']){
echo "<option value=\"".$registro_cliente['razon_social']."\" selected>".$registro_cliente['razon_social']."</option>\n";
} else {
echo "<option value=\"".$registro_cliente['razon_social']."\">".$registro_cliente['razon_social']."</option>\n";
}
}
echo "</select>\n\n";

mysql_free_result($consulta_cliente); // Liberar memoria usada por consulta.

?>


</td>
</tr>

<tr>
<td height="21"><? // Formar Select "contactos"

echo "<select name=\"selectContacto\" onChange=\"this.form.submit()\">\n";

// Si $list_cliente no tiene valor (caso de que no se ha seleccionado ningua opción del select contactos
// se muestra el mensaje de "seleccine un item" (del select cliente).


if (!empty($list_cliente)){

echo "<option value=\"\">- Selecciona -</option>\n";



$SQLconsulta_contacto="select cliente.razon_social, concat(usuarios.nombres, ' ', usuarios.apellidos ) from cliente_contacto inner join cliente on cliente_contacto.id_cliente=cliente.id_cliente inner join usuarios on cliente_contacto.id_usuario=usuarios.id_usuario where cliente.razon_social='$list_cliente'";
$consulta_contacto = mysql_query($SQLconsulta_contacto) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..

if (mysql_num_rows($consulta_contacto) != 0){
While ($registro_contacto=mysql_fetch_assoc($consulta_co ntacto)){
if ($list_contacto == $registro_contacto["concat(usuarios.nombres, ' ', usuarios.apellidos )"]){
echo "<option value=\"".$registro_contacto["concat(usuarios.nombres, ' ', usuarios.apellidos )"]."\" selected>".$registro_contacto["concat(usuarios.nombres, ' ', usuarios.apellidos )"]."</option>\n";
} else {
echo "<option value=\"".$registro_contacto["concat(usuarios.nombres, ' ', usuarios.apellidos )"]."\">".$registro_contacto["concat(usuarios.nombres, ' ', usuarios.apellidos )"]."</option>\n";
}
}
} else {
echo "<option value=\"\"> Sin registros </option>";
}
} else {
echo "<option value=\"\">- Selecciona -</option>";
}


mysql_free_result($consulta_contacto); // Liberar memoria usada por consulta.
echo "</select>\n";

echo "</form>\n";

if (($_REQUEST["selectCliente"]) && ($_REQUEST["selectContacto"])) {
$_SESSION["selectCliente"] = $_REQUEST["selectCliente"];
$_SESSION["selectContacto"] = $_REQUEST["selectContacto"];

$list_cliente = $_SESSION["selectCliente"];
$list_contacto = $_SESSION["selectContacto"];

echo '<script languaje="JavaScript">
function Mostrar1(opc){
window.parent.FrmProyecto.Clientesparent.value ="";
var opc2 =(window.parent.FrmProyecto.Clientesparent.value + opc);
window.parent.FrmProyecto.Clientesparent.value=opc 2


} </script>';


echo '<script languaje="JavaScript">
function Mostrar2(opc1){

window.parent.FrmProyecto.Contactosparent.value ="";
var opc3 =(window.parent.FrmProyecto.Contactosparent.value + opc1);
window.parent.FrmProyecto.Contactosparent.value=op c3

} </script>';

echo "<script languaje=\"javacript\">Mostrar1('".$list_cliente." ')</script>";
echo "<script languaje=\"javacript\">Mostrar2('".$list_contacto. "')</script>";

}


mysql_close();

?>

Etiquetas: combobox, dos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:02.