Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2006, 22:03
Avatar de horizonte
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, 7 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: