Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

select / combo

Recommended Posts

Pessoal, preciso de ajuda que não estou conseguindo resolver!

 

Tenho um combo, caixa suspensa, que seleciona o país e assim exibi no select / combo o estado referente a esse páis. Tipo: Brasil exbide São Paulo, França exibe exterior, por exemplo. Mas quando faço Brasil ele exibe São Paulo e quando resolvo exibi França ele mostra no outro combo exterior e são paulo, em vez só de exterior, como resolver?

 

Combo:

<select name="txt_categoria" class="cboStyle" onChange="BuscaProdutos()" style="color: #575757; border: 1px solid #C0C0C0; background-color: #FFFFFF">
<option value="Selecione o Estado">Selecione o País</option>
<% 'aqui setamos na propriedade onChange, a função BuscaProdutos(). A cada mudança, a função é executada.%><%
'Fazemos a busca de todas as categorias para preencher o primeiro combo.
SQL_Cat = "select * from paises order by categoria"
Set RS_Cat = objConn.Execute(SQL_Cat)

Do Until RS_Cat.EOF
  Response.Write "<option value="&RS_Cat("id")&">"&RS_Cat("categoria")&"</option>"
  RS_Cat.MoveNext
Loop
%>
</select>

Script que o combo chama:

<script>
function BuscaProdutos()
{
//a variável categoria vai receber o valor selecionado na primeira combo (txt_categoria) 
var categoria = document.form1.txt_categoria.options[document.form1.txt_categoria.selectedIndex].value;

//setamos duas variáveis auxiliares que irão ser utilizadas para controles
var controle = 0
var contador = 0

<%
'Listamos as categorias
SQL_Cat2 = "select * from paises order by categoria"
Set RS_Cat2 = objConn.Execute(SQL_Cat2)

'Enquanto não for final de arquivo, listamos os cidades da estado atual (que está no loop)
Do Until RS_Cat2.EOF
  SQL_Prod = "select * from estados where id_categoria = "&RS_Cat2("id") 
  Set RS_Prod = objConn.Execute(SQL_Prod)

  'Vamos verificar a quantidade de registros encontrados. Serve também como um controle.
  SQL_Count = "select count(*) as maximo from estados where id_categoria = "&RS_Cat2("id")
  Set RS_Count = objConn.Execute(SQL_Count)

  Do Until RS_Prod.EOF
  %>
   //Enquanto não for fim de arquivo, verificamos se o produto retornado pertence à categoria guardada na
   //variável categoria (Java Script) e se nosso "controle" é menor que o máximo de registros.
   //Se tudo estiver OK, incrementamos "controle" e "contador" e escrevemos a nova opção em txt_produto.
   //Reparem que "contador" atua como a posição que o registro ocupará no combo.
	if(<%=RS_Prod("id_categoria")%> == categoria && controle < <%=RS_Count("maximo")%>)
	{
	   controle++
	   document.form1.txt_produto.options[contador]=new Option('<%=RS_Prod("produto")%>','<%=RS_Prod("cidade_id")%>');
	 
	   contador++
	}  
<%

	RS_Prod.MoveNext
  Loop
  RS_Cat2.MoveNext
Loop

%>
}
</script>

E combo que exibi os estados do país escolhido:

<select name="txt_produto" class="cboStyle" style="color: #575757; border: 1px solid #C0C0C0; background-color: #FFFFFF">
<option value="Selecione a Cidade">Selecione o Estado</option>
</select>

Alguém sabe como resolver ou tem um exemplo melhor?

 

Obrigado!

 

Ninguém pode me ajudar?? Preciso carregar o combobox dependendo da seleção que for feita em outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, vou ver, obrigado!

 

Eu estou tentando usar esse exemplo para gerar mais combo mas não estou conseguindo... Alguém sabe?

 

Obrigado mesmo!

 

Marcelo

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.