Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davide Ricardo

Combox carrega dados de outra combo

Recommended Posts

Boas ppl..Gostaria de saber como é que posso carregar numa combobox os dados referentes a outra combo seleccionada anteriormente..O que pretendo é ter duas combobox na mesma página e quando selecciona uma, a outra vá buscar os dados relativos a essa.Ex: Combo 1 - IdPEssoa Combo2 - Carrega, por exemplo, todos os registos (ex.comentários) dessa pessoaComo faço..axo que por ajax funciona, mas nao sei como...tem que fazer um carregamento automático..Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu encontrei uma cena parecida..Mas o problema está na listagem da segunda combox...pk eu vou ter dois select's...Para ter uma ideia vou colocar os select's de cada combox..

1ª - SELECT COD_REVISTA, NOME FROM REVISTA as R WHERE R.ESTADO = 'A'
2ª - SELECT SUPORTE.COD_SUPORTE, SUPORTE.DESIGNACAO FROM (REVISTA AS R INNER JOIN REVISTA_SUPORTE ON R.COD_REVISTA = REVISTA_SUPORTE.COD_REVISTA) INNER JOIN SUPORTE ON REVISTA_SUPORTE.COD_SUPORTE = SUPORTE.COD_SUPORTE WHERE REVISTA_SUPORTE.ESTADO = 'A' AND R.COD_REVISTA="&Request.Form("cod_revista")&"
O problema está no 2º select, porque dá-me erro

O item não foi encontrado na colecção correspondente ao nome ou ordinal pedido.

O problema até poderia ser do COD_REVISTA="&Request.Form("cod_revista")&", mas não é, porque se eu alterar o select e colocar na mesma esta cena do cod_revista funciona direitinho...Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

é so mesmo com ajax e java script....o unico jeito que eu conseguir fazer foi assim:você escolhe a primeira opcao e vai dar um atualiar a pagina com o id da categoria que você escolheu ae no segundo select eu faço ele com o where neste Idagora pra fazer sem atualizar a pagina eu nao sei direito se você descobrir....

Compartilhar este post


Link para o post
Compartilhar em outros sites

já consegui pessoal...vou colocar aqui o código p ajudar quem kiser...

 

ajax.asp

<%@ Language=VBScript %><HTML><HEAD><script>// A função abaixo pega a versão mais nova do xmlhttp do IE e verifica se é Firefox. Funciona nos dois.function createXMLHTTP() {	try 	{		ajax = new ActiveXObject("Microsoft.XMLHTTP");	} 	catch(e) 	{	   try 	   {			ajax = new ActiveXObject("Msxml2.XMLHTTP");			alert(ajax);	   }	   catch(ex) 	   {		   try 		   {				ajax = new XMLHttpRequest();		   }		   catch(exc) 		   {				alert("Esse browser não tem recursos para uso do Ajax");				ajax = null;		   }	   }	   return ajax;	}var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for (var i=0; i < arrSignatures.length; i++) {	try {		var oRequest = new ActiveXObject(arrSignatures[i]);			return oRequest;		} catch (oError) {	}}throw new Error("MSXML is not installed on your system.");}								 function recuperar(sTipo){	var oHTTPRequest = createXMLHTTP(); 	oHTTPRequest.open("post", "executa.asp", true);	oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	oHTTPRequest.onreadystatechange=function() {	   if (oHTTPRequest.readyState==4){		document.all.divSuporte.innerHTML = oHTTPRequest.responseText;	   }}oHTTPRequest.send("cod_revista=" + sTipo);}</script></HEAD><body onLoad="recuperar(document.formulario.cod_revista.value)"><form id="formulario" name="formulario"><table border="0">	<tr>		<td>Revista:</td>		<td>			<select name="cod_revista" id="cod_revista" onChange="recuperar(this.value)" style="WIDTH:200px">			<%			Dim oConn, oRS			Set oConn = Server.CreateObject("ADODB.Connection")			oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")			set oRS = oConn.Execute("SELECT COD_REVISTA, NOME FROM REVISTA as R WHERE R.ESTADO = 'A'")			while not oRS.eof 			Response.Write "<option value=" & oRS(0) & ">" & oRS(1) & "</option>"			oRS.movenext			wend			%>			</select>		</td>	</tr>	<tr>		<td>Suporte:</td>		<td><div id="divSuporte"></div>		</td>	</tr></table></form></body></HTML>
executa.asp

<select name="cod_suporte" id="cod_suporte" style="width:100%;"><%Dim oConn, oRSSet oConn = Server.CreateObject("ADODB.Connection")oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")cod_revista = request.Form("cod_revista")set oRS = oConn.Execute("SELECT * FROM REVISTA_SUPORTE as rs, SUPORTE as s WHERE rs.ESTADO='A' AND s.cod_suporte=rs.cod_suporte and rs.COD_REVISTA="&cod_revista&"")while not oRS.eof %><option value="<%=oRS("COD_SUPORTE")%>" selected><%=oRS("DESIGNACAO")%></option><%oRS.movenextwend%></option></select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.