Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con recuperar valor de combo cuyo nombre es dinamico

Estas en el tema de Problema con recuperar valor de combo cuyo nombre es dinamico en el foro de Frameworks JS en Foros del Web. Hola a todos! Estoy terminando un proyecto con ASP y Ajax, y .... me he atascado, seguro que en alguna chorrada. Espero que algien pueda ...
  #1 (permalink)  
Antiguo 12/01/2010, 05:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 15 años, 2 meses
Puntos: 0
Problema con recuperar valor de combo cuyo nombre es dinamico

Hola a todos!
Estoy terminando un proyecto con ASP y Ajax, y .... me he atascado, seguro que en alguna chorrada. Espero que algien pueda ayudar a desatascarme ....

Tengo un ASP donde genero un numero variable de combos.

Cada combo es nombrado diferente, pero el contenido es el mismo:

Código:
<!-- include file="inc/javascript.asp" -->
<%
On Error resume Next
sVAL = AdoRS("Escenario")
sIDAct = Request("idactividad")

sSQL = "SELECT * FROM CriteriosSolicitudes WHERE idCriterio = " & widCriterio & " AND idsolicitud = " & ID

AlCambiar = "JavaScript:updateCrit('fila" & dato & "'," & ID & "," & widCriterio & ",'cbo" & widcriterio & "')"
AlCambiar = "updateCrit2(" & ID & "," & widCriterio & ",'cbo" & widcriterio & "')"
bConBlanco = False
'bConBlanco = True'
response.write AlCambiar & "<br>"

Set Obj = Server.CreateObject("ADODB.Connection")
Obj.ConnectionTimeout = 15
Obj.CommandTimeout = 30
sInfo = ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;MaxBufferSize=8192;Threads=20;"

Obj.Open "DBQ=" & Server.MapPath("../database/zsp_gest.mdb") & sInfo, "username", "password"
Set RSt = Server.CreateObject("ADODB.Recordset")

RSt.Open sSQL, Obj, 0, 1

	miValor = -1
	bConBlanco = True
	sDATA = "-"
		If Not RSt.EOF Then
			RSt.MoveFirst
			bConBlanco = False
			miValor = CLng(RSt.Fields("valor").Value)
		End If 		%>
			<!-- select name="Type" -->
			<select id="valor" name="cbo<%=widcriterio%>" onChange="<%=AlCambiar%>">
			<% if bConBlanco then
				response.write("<option SELECTED></option>")
			end if
			RSt.Close
			Set RSt =  Nothing
			Obj.Close
			Set Obj = Nothing %>

				<option value="0"
				<% if miValor = 0 then
					response.write "SELECTED"
					sDATA = Valor0
				End if	%>
						>
						<%= Valor0%></option>
				<option value="1"
							<% if miValor = 1 then
								response.write "SELECTED"
							sDATA = Valor1
							End if	%>
						>
						<%= Valor1%></option>

				<option value="2"
							<% if miValor = 2 then
								response.write "SELECTED"
							sDATA = Valor2
							End if	%>
						>
						<%= Valor2%></option>
			</select>
He puesto en negrita la variable AlCambiar, que es la que me llama a AJAX para que ejecute la accion.

El código que tengo es el siguiente:
Código:
function updateCrit2(idsolicitud,idcriterio,cbo)
{
	
	alert("idsolicitud="+idsolicitud+" - IdCriterio="+idcriterio);
	var vv3 = document.getElementById(cbo).value;
	alert("Valor: "+vv3);
}
Como debo recuperar el valor en updateCrit2 del combo?

Espero haberme explicado ...

Un saludo.
  #2 (permalink)  
Antiguo 12/01/2010, 06:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Problema con recuperar valor de combo cuyo nombre es dinamico

El problema es que todos los select tienen el mismo id, lo cual es incorrecto. Estás usando document.getElementById() pero con el name, lo cual no funciona, el ID debe ser cboX
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/01/2010, 09:55
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problema con recuperar valor de combo cuyo nombre es dinamico

Cita:
Iniciado por David Ver Mensaje
El problema es que todos los select tienen el mismo id, lo cual es incorrecto. Estás usando document.getElementById() pero con el name, lo cual no funciona, el ID debe ser cboX
Efectivamente .... por ahí iban los tiros! Ya lo tengo solucionado!

Muchas gracias!

Etiquetas: ajax, combo, dinamico, nombre, recuperar
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 21:59.