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:
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):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>
Código:
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.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>
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.