Foros del Web » Programando para Internet » Javascript »

pasar contenido en un select

Estas en el tema de pasar contenido en un select en el foro de Javascript en Foros del Web. encontre este codigo de 2 select asociados lo implemente y funciona pero ahora necesito pasar el contenido de el select nombres no el value sino ...
  #1 (permalink)  
Antiguo 22/11/2009, 19:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 68
Antigüedad: 14 años, 6 meses
Puntos: 1
pasar contenido en un select

encontre este codigo de 2 select asociados lo implemente y funciona
pero ahora necesito pasar el contenido de el select nombres no el value sino el texto dentro del select y no se como utilizo la funcion send pero me envia es el value en numero no el nombre que escogi como paso este parametro porfa ayuda

<script language="JavaScript">

/* Trae desde la base de datos los nombres de los paises */
/* y coloca en este arreglo. */
<?
$i=1;
echo "var aTipos = new Array(' '";
$query1 = mysql_query("SELECT tipo, id_tipo FROM tipos_agentes");
while(list($tipo, $id_tipo)=mysql_fetch_row($query1)) {
echo ", '$tipo'";
$array_tipo[$i] = $id_tipo;
$i++;
}
echo ");\n";

echo "var aNombres0 = new Array(' ');\n";

for($j=1; $j<$i;$j++) {
$tempid = $array_tipo[$j];
$sele2 = mysql_query("SELECT nombres FROM t_ag_todos WHERE id_tipo='$tempid'");
echo "var aNombres".$j." = new Array (' '";
while(list($nombres)=mysql_fetch_row($sele2)) {
echo ", '$nombres'";
}
echo
");\n";
}


/* Arma un arreglo general de estados a partir de los arreglos */
/* anteriores. Es importante que cada arreglo comience por un */
/* valor en blanco y que el primer arreglo de nombreses, llamado */
/* aqui aNombres0, no contenga ningúemento. */
echo "var aNombres = new Array( aNombres0";
for($a=1;$a<$j;$a++) {
echo ", aNombres".$a;
}
echo ");\n";
?>

function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aNombres[nSelected].length; i++)
opcion(oCntrl, i, aNombres[nSelected][i], String(i));
}

function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aTipos.length; i++)
opcion(oCntrl, i, aTipos[i], String(i));
}
function Send()
{
document.frm.nombres.selectedIndex
document.frm.nombres.options[indice].value
document.frm.action = 'bandeja_entrada.php'
document.frm.submit();
}

</script>
</head>

<body>
<td>
<form name="frm" action = "insercion_mensajes.php" method = "post">
Seleccione los agentes para quien desea dirigir su correo <BR>
Tipo Agente
<select name="tipo" onchange="cambia(this, document.frm.nombres)">
<option value=" ">&nbsp;</option>
</select>
<BR>
&nbsp;&nbsp;&nbsp;
<BR>
Nombres
<select name="nombres" onchange="send()">
<option value=" ">&nbsp;</option>
</select>

<script language="JavaScript">
llena(document.frm.tipo);
</script>
<em>Mensaje:</em><br>
<br>
<textarea name="mensaje1" cols="40" rows="10"></textarea>
<br>
<input type ="submit" value = "Enviar" >
</form>
  #2 (permalink)  
Antiguo 23/11/2009, 00:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: pasar contenido en un select

Hola:

En principio te recomiendo que evites poner código de otros lenguajes (creo que usas php)... procura insertar lo que tiene el navegador solamente (ver código fuente).

En la función Send() tienes un par de líneas sin sentido:

Código:
function Send()
{
document.frm.nombres.selectedIndex
document.frm.nombres.options[indice].value
document.frm.action = 'bandeja_entrada.php'
document.frm.submit();
}
Supongo que las 2 primeras líneas (en rojo) deberán ser asignaciones...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 23/11/2009, 05:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: pasar contenido en un select

Para leer el texto en vez del value... pues pideselo


indice=document.frm.nombres.selectedIndex;
texto=document.frm.nombres.options[indice].text;


Pero esa funcion lo que hace es mandar un formulario por tanto de los select manda el value, tendras que traducir el valor por el texto en el otro lado, donde recibes el formulario. Que esten las dos lineas que te indica Caricatos o no esten o que las corrijas como te indico yo no va a cambiar nada... no hacen nada si no cambias el resto de la función.



Quim

Nota: USAT EL ; (PUNTO Y COMA) AL FINAL DE LAS LINEAS DE CODIGO ES MUCHO MAS CLARO

Última edición por quimfv; 23/11/2009 a las 05:48
  #4 (permalink)  
Antiguo 23/11/2009, 08:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 68
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: pasar contenido en un select

bueno gracias por su respuesta la verdad no se mucho de javascript
lo que quiero pasar es el texto que contiene el select , no es posible hacer eso
solo se puede enviar el value? en el es decir enviar la variable texto que me indican arriba
gracias
  #5 (permalink)  
Antiguo 11/12/2009, 07:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: pasar contenido en un select

Siempre podrias pasar el texto a un campo oculto del formulario...

document.frm.campooculto.value=document.frm.nombre s.options[indice].text;

así recibiras el texto...

Quim
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 09:27.