Ir para conteúdo
Fórum Script Brasil
  • 0

Escolhe O Estado E No Outro Combo Tras As Cidades


Guest SenderBy

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

Fazer em javascript é locura, tu vai ter que guardar na página todas as cidades do brasil pra quando o cara trocar de estado tu carregar as cidades certas. Inviável.

Trabalha com BD + uma linguagem dinâmica...

Mas se quiser fazer em js e quiser uma ajuda, posta ae quem sabe não podemos te ajudar...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Olha.....é o seguinte...eu fiz uma função em JS, que pega o valor selecionado em um combo, e de acordo com esse valor carrega um outro combo com os valores relacionados. Esses valores estão em um array previamente gerado. Eu vou postar aqui a função JS, se vc's quiserem depois eu posto a função ASP que exporta um array em ASp pra JS.

/* =================================================================================== */
/* Função pega o valor selecionado de um combo e joga os dados relacionados de um      */
/* array em outro combo.                                                               */
/* Ex: um combo de países e outro de estados. No combo de países eu chamo a função,    */
/*     passando os valores do combo selecionado e do combo de estados. Assim, a função */
/*     vai procurar o valor do combo de países no índice "3" do array também passado.  */
/*     Carregando o combo com os valores pertinentes.                                  */
/*                                                                                     */
/* Parâmetros:                                                                         */
/*           oForm           --> Objeto do formulário em questão                       */
/*           intValor        --> Valor selecionado a ser comparado no array            */
/*           intSelecionado  --> Valor a ser selecionado no combo carregado            */
/*           oArray          --> Instância do array com os dados relacionados          */
/*           strNmCbo        --> Nome do combo a carregadr                             */
/*           strPadrao       --> Valor do índice "0" do combo carregado.               */
/* ====================================================================================*/
function atribuiSub(oForm, intValor, intSelecionado, oArray, strNmCbo, strPadrao) {
 var intCont = 0
 var intSel = 0;
	if(intValor != 0) {
    oForm.elements[strNmCbo].length = oArray.length + 1;
    oForm.elements[strNmCbo].disabled = false;
    var intTotVetor = oArray.length - 1;
  for(i=0; i<=intTotVetor; i++) {
   if(oArray[i][2] == intValor) {
    oForm.elements[strNmCbo].options[intCont+1].text = oArray[i][1];
    oForm.elements[strNmCbo].options[intCont+1].value = oArray[i][0];
    if(intSelecionado > 0 && intSelecionado == oArray[i][0]) {
     intSel = i;
    }
   intCont = intCont + 1
   }
  }
  oForm.elements[strNmCbo].length =  intCont+1;
  oForm.elements[strNmCbo].selectedIndex = intSel;
 } else {
   oForm.elements[strNmCbo].disabled = true;
   oForm.elements[strNmCbo].length   = 1;
   oForm.elements[strNmCbo].options[0].text = strPadrao;
 }
}

Link para o comentário
Compartilhar em outros sites

  • 0

Não tenho porque gero o array dinamicamente......mas o array é um array de 3 colunas, na primeira o valor que vai ficar no value de cada option, na segunda o valor que vai ser exibido e na terceira o valor do relacionamento, seria algo assim:

array[0][0] = '1';              // Id da Cidade (valor do option)
array[0][1] = 'são Paulo'; // Cidade (texto do option)
array[0][2] = '5';             // Id do Estado (valor do option do combo relacionado)
Ai vai o gerador de array em ASP:
<%
' ******************************************************************************
' *** Essa função gera uma matriz em JavaScript de acordo com os parâmetros:
' strNmArray --> O nome que será atribuído ao array
' intColArray --> Número inteiro com a quantidade de "colunas" no array a ser criado
' varAryDados --> Array do ASP com os dados a serem transportados
' **********************************************************************************
Sub ArrayJs(strNmArray,intColArray,varAryDados)
Dim i,j
 Response.Write "var " & strNmArray & " = new Array(" & UBound(varAryDados,2) & ");" & vbcrlf & _
                " for(i = 0; i <= " & UBound(varAryDados,2) & "; i++) {" & vbcrlf  & _
                "  " & strNmArray & "[i] = new Array(" & intColArray & ");" & vbcrlf  & _
                "   for(j=0;j<" & intColArray & ";j++) {" & vbcrlf  & _
                "    " & strNmArray & "[i][j] = '0';" & vbcrlf  & _
                "   }" & vbcrlf  & _
                " }" & vbcrlf
 For i=0 to UBound(varAryDados,2)
  For j=0 to intColArray - 1
   Response.write strNmArray & "[" & i & "][" & j & "] = '" & Replace(varAryDados(j,i),vbcrlf,"<br>") & "';" & vbcrlf
  Next
 Next
End Sub
%>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...