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 msantino
      Bom dia.
       
      Estou desenvolvendo uma aplicação que vai acessar e gravar dados via webservice dentro do nosso crm... mas estou com um problema que quando tento fazer o acesso mostra a seguinte mensagem de erro:
       
      Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'http://dsksp015.phonoway.com.br:8051/wsDataServer/mex?xsd=xsd0' in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php:113 Stack trace: #0 /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php(113): SoapClient->SoapClient('http://187.93.2...') #1 {main} thrown in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php on line 113
       
      Não sei se faz alguma diferença, mas nosso CRM é o TOTVS RM
       
      Grato.
    • By mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Luis Fernando R. Valle
      Estou desenvolvendo um site de vinhetas, mas estou com o seguinte problema. Quando o cliente clica em um áudio ele toca normalmente, mas quando clica em um segundo com o primeiro ainda em execução, ficam os dois áudios executando ao mesmo tempo no sit.
      Gostaria que um executasse por vez.
       
      Lembrando que os áudios estão inseridos separadamente.
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
×

Important Information

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