Ir para conteúdo

Arquivado

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

Márvin Edge

Select no form html não está puxando dados do json através de uma função no javascript

Recommended Posts

cidade_bairro.jsonBom dia galera, to quebrando a cabeça aqui e não sei o que tá acontecendo, coloquei em um arquivo json as cidades e os bairros delas, e escrevi um código javascript para puxar os dados e preencher o select do formulário em html, mas o select não exibe nada.

 

Código javascript

<script type="text/javascript">    
    
        
        $(document).ready(function () {
                            
                            $.getJSON('cidade_bairro.json', function (data) { alert(JSON.(data))

                                var items = [];
                var options = '<option value="">Escolha uma cidade</option>';    

                $.each(!data, function (key, val) {
                    options == '<option value="' + val.nome + '">' + val.nome + '</option>';
                });                    
                $("#cidades").html(options);                
                
                $("#cidades").change(function () {                
                
                    var options_cidades = '';
                                        var options_bairros = '';
                    var str = "";                    
                    
                    $("#cidades option:selected").each(function () {
                        str += $(this).text();
                    });
                    
                    $.each(data, function (key, val) {
                        if(val.nome == str) {                            
                            $.each(val.cidades, function (key_city, val_city) {
                                options_cidades += '<option value="' + val_city + '">' + val_city + '</option>';
                            });                            
                        }
                    });
                                }).change();
                                    
                                $("#bairros").html(options);
                                
                                $("#bairros").change(function () {
                                            
                    $("#bairros option:selected").each(function () {
                                            str += $(this).text();
                                        });
                                        
                                        $.each(data, function (key, val) {
                                            if(val.nome == str) {
                                                $.each(val.bairros, function (key_neighborhood, val_neighborhood){
                                                    options_bairros += '<option value="' + val_neighborhood +'">' + val_neighborhood + '</option>';
                                                });
                                            }
                                        });
                    
                }).change();        
            
            });
        
        });
        
    </script>

 

Código html

 

<body>

<form>
        
        <!-- Cidade -->
        <select id="cidades">
            <option value=""></option>
        </select>
                <!-- Bairros -->
        <select id="bairros">
                    <option value=""></option>
        </select>
    
</form>

</body>

 

Desde já obrigado

cidade_bairro.json

index.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá...

 

Esta linha está errada: 

options == '<option value="' + val.nome + '">' + val.nome + '</option>';

Você está usando um comparador (==) quando deveria usar um concatenador (+=).

Dessa maneira a variável "options" irá receber apenas "false". Use assim:

options += '<option value="' + val.nome + '">' + val.nome + '</option>';

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

É importante conhecer a estrutura do seu objeto json.

Precisamos conhecer esta estrutura, pois pode haver uma falha na leitura dos dados.

Veja um exemplo que fiz:

 

http://codepen.io/Eziquiel/pen/RpyENX?editors=0010

 

Esta á a estrutura do objeto json:

https://gist.githubusercontent.com/letanure/3012978/raw/36fc21d9e2fc45c078e0e0e07cce3c81965db8f9/estados-cidades.json

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara agora foi até engraçado, eu coloquei o arquivo json em um site hospedado alterei a url no codigo fiz o teste e nada, ai tentei copiar exatamente o seu código e colar no codepen do meu, o seu exibe o meu não, kkkkkkkkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

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