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?
Pergunta
marvi
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:
Script que o combo chama: E combo que exibi os estados do país escolhido:Alguém sabe como resolver ou tem um exemplo melhor?
Obrigado!
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.