Foros del Web » Programando para Internet » Javascript »

Listas Dependientes y TextArea

Estas en el tema de Listas Dependientes y TextArea en el foro de Javascript en Foros del Web. Listas Dependientes Ante todo perdon por volver con un tema que esta publicado hasta en las puertas de los baños, pero para mi es una ...
  #1 (permalink)  
Antiguo 13/03/2006, 22:03
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
Listas Dependientes y TextArea

Listas Dependientes

Ante todo perdon por volver con un tema que esta publicado hasta en las puertas de los baños, pero para mi es una de las cosas que mas me cuestan(por ahora).

Paso a contarles:
Tengo un Select1 que carga(onChange) otro Select2(este tiene varias filas), hasta ahi todo bien, el tema es que al hacer DblClick en cualquier opcion del Select2 tendria que cargar dicha opcion a una textArea. Esto ultimo no funciona es como si en los value de las opciones cargadas "dinamicamente" al Select2 estan todas vacias(""), ya que al hacer DblClick en cualquier opcion del Select2 me aparece el alerta de "Seleccione una opcion".
Para asegurarme que esto fuera asi, le agregue un alerta que me muestra el value de la opcion seleccionada al hacer DblClick y ahi podran ver que el value esta vacio.

Con esto cargo el Select2:
Código:
1  <script language = "JavaScript">
2  <% 
3  Dim x1
4
5  Set  objRS= CreateObject("ADODB.Recordset")
6  strSQL = "select distinct legajo, nombre from Tabla "& _
7  objRS.Open strSQL, oConn
8  
9  x1=0
10 %>
11 // FUNCION DE COMBO BOX COMBINADO
12
13 function cargarSelect2(form, itemSeleccionado) {
14   form.Select2.length = 0
15
16 <%
17   count= 0
18   y=0
19   Do While not objRS.EOF
20 %>
21
22     x1 = <%= trim(y) %>;
23 
24     subcat = new Array();
25     subcatagory = "<%=(objRS("legajo")) %>";
26     subcatagoryof = "<%=(objRS("nombre"))%>";
27     subcat[x1,0] = subcatagory;
28     subcat[x1,1] = subcatagoryof;
29     if (subcat[x1,0] == itemSeleccionado) {
30       var option<%= trim(count) %> = new Option(subcat[x1,1]);
31       form.Select2.options[form.Select2.length]= option<%= trim(count)%>;
32       //form.Select2.options[form.Select2.length].value= subcat[x1,1];
33     }
34 <%
35     count = count + 1
36     y = y + 1
37     objRS.MoveNext
38   Loop
39   objRS.Close
40 %>
41 }
42 </script>
43
44 <SELECT size="1" name="Select1" class="fuente" onChange="cargarSelect2(this.form,Select1.value);">
45         <option value="Elija un legajo" selected>Elija un legajo</option>
46 <%
47	'Aqui cargo el Select1 (funciona OK)
48 %>
49 </select>
50
51
52 <SELECT name="Select2" size=6 class="fuente_chica" onDblClick="cargo_TextArea();">
53 </select>
Funcion que uso para cargar el item selecionado(con DblClick) al TextArea, la linea 105 es la que uso para verificar el value del item seleccionado(en todos esta vacio):
Código:
100 <script language="javaScript">
101
102  function cargo_TextArea() { 
103   var cadena
104
105 	alert("El VALUE seleccionado es: "+document.form.Select2.options[document.form.Select2.selectedIndex].value);
106
107   if(document.form.Select2.selectedIndex != -1 && document.form.Select2.options[document.form.Select2.selectedIndex].value != "") {
108     cadena = document.form.Select2.options[document.form.Select2.selectedIndex].value ;
109     if(document.form.HubNodo_Afectados.value != "") {
110       cadena = cadena + ",";
111     }
112     document.form.txt_Datos.value = cadena + document.form.txt_Datos.value;
113   }
114   else {
115     if(document.form.Select2.options[document.form.Select2.selectedIndex].value == "") {
116       alert("Por favor, seleccione una opcion");
117     }
118   }
119 }
120 </script>
Si "habilito" la linea 32, para que guarde el nombre como value, entonces da error de JavaScript al seleccionar una opcion del Select1, y si la "deshabilito" caigo en el alert de la linea 116 ya que el value siempre es vacio.

Espero haber sido lo mas claro posible, la idea es que si alguien ya hizo esta "combinacion" de:
Select1 -(onChange)--> Select2 -(onDblClick)--> TextArea, pueda aportar algo a ver si puedo "salir" de estas tediosas listas dinamicas.

Gracias de Antemano,
Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
  #2 (permalink)  
Antiguo 14/03/2006, 21:18
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
Listo el pollo !

Ya esta!, el problema estaba en la linea 32, ya que no sabia que al crear una nueva opcion, inmediatamente se actualiza el tamaño del select haciendo q'el puntero quede en la ultima opcion creada +1. Por eso debia restarle una posicion(-1) al cargar el value de la opcion creada.

Espero les haya sido util, todos los dias se aprende algo,
Saludos.

PD: Me surgio un problema nuevo al poner un 3er.Combo enlazado al 2do.Combo, lo publique en un post nuevo (http://www.forosdelweb.com/showthrea...02#post1463902) para hacer las cosas prolijas, si alguien me puede dar una mano se lo agradezco.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
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 02:52.