Ir para conteúdo

POWERED BY:

Arquivado

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

Morpheus#2005

Combo 3 Niveis - Refresh No Select

Recommended Posts

Opa beleza galera...

 

Let´s Go To Job !!!

 

Eu tenho esse codigo abaixo e preciso fazer a seguinte alteração, alterar o onchange para ee não fazer o refresh na pagina inteira e sim no proximo Select ?? Alguém me ajuda ??

 

[],

 

<form action="" method="post" name="form1" id="form1">
Macro
  <select name="Macro" id="Macro"onchange='submit()'>
	<%
While (NOT SelMacro.EOF)
%><option value="<%=(SelMacro.Fields.Item("Macro_Motivo").Value)%>" <%If (Not isNull((Sel_Motivos.Fields.Item("Macro_Motivo").Value))) Then If (CStr(SelMacro.Fields.Item("Macro_Motivo").Value) = CStr((Sel_Motivos.Fields.Item("Macro_Motivo").Value))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(SelMacro.Fields.Item("Macro_Motivo").Value)%></option>
	<%
  SelMacro.MoveNext()
Wend
If (SelMacro.CursorType > 0) Then
  SelMacro.MoveFirst
Else
  SelMacro.Requery
End If
%>
  </select>
Motivos
<select name="Motivos" id="Motivos" onchange='submit()'>
  <%
While (NOT Sel_Motivos.EOF)
%><option value="<%=(Sel_Motivos.Fields.Item("Motivo").Value)%>" <%If (Not isNull((SelSubMotivos.Fields.Item("Motivo").Value))) Then If (CStr(Sel_Motivos.Fields.Item("Motivo").Value) = CStr((SelSubMotivos.Fields.Item("Motivo").Value))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(Sel_Motivos.Fields.Item("Motivo").Value)%></option>
  <%
  Sel_Motivos.MoveNext()
Wend
If (Sel_Motivos.CursorType > 0) Then
  Sel_Motivos.MoveFirst
Else
  Sel_Motivos.Requery
End If
%>
</select>
SubMotivos
<select name="SubMotivos" id="SubMotivos" >
  <%
While (NOT SelSubMotivos.EOF)
%>
  <option value="<%=(SelSubMotivos.Fields.Item("Codigo").Value)%>"><%=(SelSubMotivos.Fields.Item("Codigo").Value)%></option>
  <%
  SelSubMotivos.MoveNext()
Wend
If (SelSubMotivos.CursorType > 0) Then
  SelSubMotivos.MoveFirst
Else
  SelSubMotivos.Requery
End If
%>
</select>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro cara, perfeitamente:

 

Movido de ASP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Javascript / DHTML

Compartilhar este post


Link para o post
Compartilhar em outros sites

colega Morpheus, vou te mandar pra Ajax ok? pingue-pongue rsss

 

entao, qto a sua duvida... tem uns exemplos aqui na area e tb no Laboratorio de como trabalhar com combos, eu mesmo ja postei uns 2 ou 3. De uma olhadinha ve se te ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...consegui..um source do Colunista Rafael Martin e adaptei as minhas necessidades, porém....

 

Quando eu duplico a Cidade ele me retorna ela Duas vezes no combo, por favor tem como voces análisarem para mim..

 

[] Valew

 

O link é Rafael Martin - 3 Combos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu adaptei um codigo, que achei no Imasters.

 

Mas....como tudo não são flores, quando eu coloco 2 cidades iguais ele me retorna a duplicidade no Segundo Select, o que eu posso fazer para que isso não aconteça ??

 

Não vou postar o código, postarei o link, se alguém puder me ajudar eu agradeço....

 

Abraços a todos..

 

 

Link é esse...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, coloca SEU link ao invés do link do tutorial.

Assim agente vê onde VOCÊ está errando. O cara colunista lá não deve ter errado acredito eu heheh.

 

Provavelmente agente terá que adaptar algumas coisas pra rodar beleza no seu caso ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po cara valew ....esse é o código da pagina default.asp

 

<%
	'AQUI REALIZAMOS A CONEXÃO COM O BANCO DE DADOS. NENHUM SEGREDO.
	Set conexao = Server.CreateObject("ADODB.connection")
	DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("dados_01.mdb")
	conexao.Open DSNtest

	sql = "select * from estados"
	set rs = conexao.Execute(sql)
%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>:: ::</title>
<style type="text/css">
<!--

body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style></head>

<body>

 -->
<script language="javascript" src="ajax.js"></script>
<FORM method="post" name="frm1" id="frm1">
<table width="779" height="19" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td width="163" height="40" valign="top"> </td>
	<td width="453"><table width="150" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td height="19"><select style="width:200" id="estado" name="estado" onChange="trazdados();">
			<option value="0"></option>
			<%
				
				while not rs.EOF
				%>
			<option value="<%Response.Write(rs("COD") & "|" & rs("ESTADO"))%>" <%=selected%>><%=rs("ESTADO")%></option>
			<%
							rs.MoveNext
						wend
							
						rs.close
						set rs = nothing			
						%>
		  </select>
		</td>
	  </tr>
	  <tr>
		<td height="19">
			<span id='divcombouf'>
			<select style="width:200" id="cidade" name="cidade" onChange="dadoscidade();">
			  <option value="0"></option>
			</select>
		  </span> </td>
	  </tr>
	  <tr>
		<td height="19
			<span id='divcomboimovel'>
			<select style="width:200" id="imovel" name="imovel">
			  <option value="0"></option>
			</select>
		  </span> </td>
	  </tr>
	  <tr>
		<td height="19"> </td>
	  </tr>
	</table></td>
	<td width="163" valign="top"><table width="163" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td height="29" background="Imagens/menu_002.gif"> </td>
	  </tr>
	  <tr>
		<td height="450" bgcolor="#F9FBFA"> </td>
	  </tr>
	</table></td>
  </tr>
</table>
<table width="779" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td height="33" background="Imagens/barra_003.gif"> </td>
  </tr>
</table>

 -->
<input type="hidden" name="codestado" id="codestado" value="<%=codestado%>" size="3">
<input type="hidden" name="codcidade" id="codcidade" value="<%=codcidade%>" size="3">
<input type="hidden" name="codimovel" id="codimovel" value="<%=codimovel%>" size="3">
</form>
</body>
</html>

<script>


function trazdados()
{
	   
	   var arr = new String(frm1.estado.value);
	   arr = arr.split('|');
	
	   frm1.codestado.value = arr[0];

		combocidade(); 
		comboimovel(); 
				   
}


function combocidade()
{
	   var combouf = createXMLHTTP();
	   combouf.open("post", "objestado.asp", true);
	   combouf.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	   combouf.onreadystatechange=function(){
		   if (combouf.readyState==4){// abaixo o texto do gerado no arquivo executa.asp e colocado no div
			   document.all.divcombouf.innerHTML = combouf.responseText;}}
			   combouf.send("codestado=" + frm1.codestado.value);

}


function comboimovel()
{
	   var comboimovel = createXMLHTTP();
	   comboimovel.open("post", "objimovel.asp", true);
	   comboimovel.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	   comboimovel.onreadystatechange=function(){
		   if (comboimovel.readyState==4){// abaixo o texto do gerado no arquivo executa.asp e colocado no div
			   document.all.divcomboimovel.innerHTML = comboimovel.responseText;}}
			   comboimovel.send("codestado=" + frm1.codestado.value + "&codcidade="+frm1.codcidade.value);
	
}



function dadoscidade()
{
	   var arr = new String(frm1.cidade.value);
	   arr = arr.split("|");
		
	   frm1.codcidade.value = arr[3];

	   comboimovel();
}

</script>

Esse é o codigo da pagina que monta o objeto estado.

 

<%

Set conexao = Server.CreateObject("ADODB.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("dados_01.mdb")
conexao.Open DSNtest


codestado = request("codestado")

'AQUI ESTÁ NOSSO SELECT.
sql = "SELECT distinct ESTADOS.COD, ESTADOS.ESTADO, CIDADES.CIDADE, CIDADES.CODCIDADE, IMOVEIS.CODIMOVEL, IMOVEIS.IMOVEIS "
sql = sql & "FROM (ESTADOS INNER JOIN CIDADES ON ESTADOS.COD = CIDADES.CODESTADO) "
sql = sql & "INNER JOIN IMOVEIS ON CIDADES.CODCIDADE = IMOVEIS.CODCIDADE WHERE ESTADOS.COD = " & codestado & " order by cidades.cidade"
set rs = conexao.Execute(sql)
%>

<table cellpadding="0" cellspacing="0" border="0">
	<tr>
		<td>
			 <select style="width:200" id="cidade" name="cidade" onChange="dadoscidade(this.value);">
				<%
						while not rs.EOF
							
							'if CStr(codestado) = Cstr(rs("COD")) then
							'	selected = "selected"
							'else
							'	selected = ""
							'end if
						%>
				<option value="<%Response.Write(rs("COD") & "|" & rs("ESTADO") & "|" & rs("CIDADE") & "|" & rs("CODCIDADE") & "|" & rs("CODIMOVEL") & "|" & rs("IMOVEIS"))%>" <%'=selected%>><%=server.HTMLEncode(rs("CIDADE"))%></option>
				<%
								rs.MoveNext
						wend
							
						rs.close
						set rs = nothing			
						%>
			  </select>
		</td>
	</tr>
</table>

Poxa valew mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Micox, se você tiver algum código já feito...para Sql, que monte 3 combos eu fico muuuuuuito grato...

 

Grande abraço e mais uma vez obrigado...

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.