Jump to content
gabrielfalieri

erro ao preencher select option com select em ajax

Recommended Posts

Boa tarde galera do imasters.
Eu estou fazendo um select onde preciso preencher um select option com o retorno de um select dinâmico, gerado por ajax.
 

 

ajax/javascript

$("#txtCodigoAtivacao").on('change',function(){
        var codAtivacao = document.getElementById("txtCodigoAtivacao").value;
        var result = document.getElementById("cmbDataTreinamento");
        var XMLHttp = new XMLHttpRequest();
        XMLHttp.open("get", "classes/Crud.php?codAtivacao=" + codAtivacao, true);
        XMLHttp.onreadystatechange = function () {

            if (XMLHttp.readyState == 4)
                if (XMLHttp.status == 200) {
                    result.innerHTML = XMLHttp.responseText;

                } else {
                    result.innerHTML = "Um erro ocorreu: " + XMLHttp.statusText;
                }
        };
        XMLHttp.send(null);
    });

Esse trecho de código, consegue enviar a requisição certinha, e ele retorna para mim o dado que eu quero, só que o preenchimento fica errado.
 

as divs com o select

<div class="form-group has-feedback" id="divDataTreinamento">
                                                <label class="control-label">Data do treinamento:
                                                    <span class="required"> * </span>
                                                </label>
                                                <select class="form-control" name="cmbDataTreinamento" id="cmbDataTreinamento">
                                                    <option>Selecione a data do treinamento</option>
                                                    <?php foreach($Treinamento->getDates() as $key => $values):?>
                                                        <option value="<?php echo $values->id_trein_turmas ?> ">
                                                            <?php
                                                            echo date("d/m/Y",strtotime($values->data_inicio));
                                                            ?> a
                                                            <?php
                                                            echo date("d/m/Y",strtotime($values->data_fim));
                                                            ?> em
                                                            <?php
                                                            echo $values->local
                                                            ?> -
                                                            <?php
                                                            echo $values->assunto;
                                                            echo " ";
                                                            echo utf8_encode( $values->tipo);
                                                            echo " ";
                                                            echo $values->forma;
                                                            echo " ";
                                                            ?>(<?php echo $values->qtd_horas; ?>)
                                                            -
                                                            <?php
                                                            $qtd_vagas = $values->qtd_vagas;
                                                            if($values->qtd_vagas >= 1){
                                                                echo 'Vagas disponíveis';
                                                            }
                                                            else if($values->qtd_vagas_reserva >= 1 && $values->qtd_vagas < 1 ){
                                                                echo 'Fila de espera';
                                                            }else{
                                                                echo 'Esgotado';
                                                            }
                                                            ?>
                                                        </option>
                                                    <?php endforeach; ?>
                                                </select>
                                                <span class="msgDataTreinamento help-block"></span>
                                            </div>

Quando eu coloco um id no value do select do php, ele fica vazio um campo e o outro retorna o valor que eu preciso, quando eu deixo o id no select, ele fica vazio.
(imagens anexadas)


Php do código

 public $codigoAtivacao;

    abstract public function insert();

    public function getDates(){
        try{

            if(empty($codigoAtivacao)){
                $sql = "SELECT id_trein_turmas, data_inicio,data_fim,local,assunto,qtd_horas,tipo,forma,qtd_vagas,qtd_vagas_reserva FROM trein_turmas WHERE data_inicio > current_timestamp()  ;";
                $stmt = DB::prepare($sql);
                $stmt->execute();
                return $stmt->fetchAll();
            }else{
                $sql = "SELECT id_trein_turmas, data_inicio,data_fim,local,assunto,qtd_horas,tipo,forma,qtd_vagas,qtd_vagas_reserva FROM trein_turmas WHERE data_inicio > current_timestamp() AND _cod_promocional = '".$codigoAtivacao."';";
                $stmt = DB::prepare($sql);
                $stmt->execute();
                return $stmt->fetch();
            }

        }catch (PDOException $ex){
            $ex->getMessage();
        }
    }

 

 

a.png

a.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fabioamorais
      Ola pessoal, sou novo aqui no fórum e também no mundo da programação. 

      Estou criando um sistema de cadastro de clientes em PHP 7 e mysql
      para meu serviço para fins de organização, tenho ja pronto o sistema de cadastro e edição do cliente, tenho login por usuário e senha.
      preciso colocar nesse sistema uma forma que registre a ação e o usuário que fez a ação quando houver uma alteração no cadastro.
      exemplo;
      O usuario (jose) alterou o status de analise para concluído .
      o usuario (pedro) alterou a localização de mesa para armario.
      e que fosse exibido como um tipo de histórico de eventos no próprio cadastro do cliente.
      e nesse campo se ainda tiver como add cometários.
      Usuario (jose): Precisa entrar em contato com o cliente francisco. 
      Usuario (pedro): cliente foi avisado e está sabendo.
       
      quem souber uma forma de fazer isso, ficaria muito grato.

    • By proflupin
      Estou com a seguinte dificuldade, possuo um <a> que busca uma id numa tabela do banco de dados, conforme abaixo:
       
      <a href="self_service.php?id=<?php echo $row_produto['id_categoria_chamado']?>" class="btn btn-primary"data-toggle="collapse" data-target="#subcategoria" aria-expanded="false" aria-controls="collapseExample">Visitar</a> A consulta é realizada, pois vejo que um novo link é mostrado no rodapé da página:

       
      Esta página self_service.php mostrada acima, é minha página principal, onde tudo é trabalhado. Se por exemplo eu mudar para outro arquivo php, teste.php por exemplo, uma nova página é aberta e consigo exibir os resultados normalmente.
       
      O problema é: quero abrir este ID na mesma página, dentro de um collapse. Exemplo:
       
      Cliquei em visitar na categoria Totvs...
       
       
      Um collapse abre-se logo abaixo:

       
      O que não consigo fazer é resgatar o ID passado pelo botão VISITAR em meu collapse, se eu tenter o $_GET['id'], não vai retornar nenhum valor, pois a URL não muda quando trabalhamos com collapse.
    • By lamorim1904
      Caros, boa tarde!
       
      Primeiramente me desculpem se estou abrindo tópico repetido ou de maneira errada, procurei aqui no fórum mas talvez a forma que estou procurando ou a minha falta de conhecimento sobre a área não está me permitindo encontrar a solução.
      Não entendo quase NADA de programação e estou realizando um projeto que me cobra um pouco neste sentido, vou tentar explicar:
       
      Estou criando um hotspot inteligente onde o próprio cliente se cadastra, ele preenche um formulário e posterior a isso eu libero a conexão dele.
      O meu problema está depois que ele cria o seu cadastro, as informações vão para meu banco de dados mas nao retornam ao cliente, portanto a conexão não é liberada.
       
      Eu encontrei uma solução mas não estou conseguindo usa-la da maneira que gostaria, após usuário se cadastrar, eu direciono ele para a pagina de login e senha e caso ele digite os dados que ele acabou de preencher, a conexão é liberada. 
       
      Eu gostaria de automatizar esse processo, identificar a variavel X que eu usei para escrever no meu banco de dados e inseri-la no campo de usuario e senha e se possivel submeter a informação para o usuario nem ver essa tela de login e senha. Sabem me dizer se tem como?
       
      Para ficar mais claro, vou postar os codigos;
       
      <NESTE PONTO O CLIENTE JA PREENCHEU O CADASTRO E EU USO AS VARIAVEIS PARA ESCREVER NO MEU BANCO DE DADOS>
      <EU GOSTARIA DE USAR A VARIAVEL $MOBILE COMO USUARIO E SENHA NA PARTE DE JAVA ABAIXO>

      $sql = "INSERT INTO radcheck (UserName, Attribute, op, Value) VALUES ";
      $sql .= "('$MOBILE', 'Cleartext-Password', ':=', '$MOBILE')";
      mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");

      $sql = "INSERT INTO radreply (UserName, Attribute, op, Value) VALUES ";
      $sql .= "('$MOBILE', 'Mikrotik-Rate-Limit', ':=', '512k/1024k')";
      mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");
      mysqli_close($strcon);
      echo "Cliente cadastrado com sucesso!";
      ?>
      <html>
      <head><title>...</title></head>
      <body>
      $(if chap-id)
      <noscript>
      <center><b>JavaScript required. Enable JavaScript to continue.</b></center>
      </noscript>
      $(endif)
      <center>If you are not redirected in a few seconds, click 'continue' below<br>
      <form name="redirect" action="http://201.82.110.3/mkloginteste2.php" method="post">
      <input type="hidden" name="mac" value="$(mac)">
      <input type="hidden" name="ip" value="$(ip)">
      <input type="hidden" name="username" value="$MOBILE">
      <input type="hidden" name="link-login" value="$(link-login)">
      <input type="hidden" name="link-orig" value="$(link-orig)">
      <input type="hidden" name="error" value="$(error)">
      <input type="hidden" name="chap-id" value="$(chap-id)">
      <input type="hidden" name="chap-challenge" value="$(chap-challenge)">
      <input type="hidden" name="link-login-only" value="$(link-login-only)">
      <input type="hidden" name="link-orig-esc" value="$(link-orig-esc)">
      <input type="hidden" name="mac-esc" value="$(mac-esc)">
      <input type="submit" value="continue">
      </form>
      <script language="JavaScript">
      <!--
         document.redirect.submit();
      //-->
      </script></center>
      </body>
      </html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.