Ir para conteúdo

POWERED BY:

Arquivado

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

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida, referente cálculo de valores em tempo real.

      Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.

      Quero mostrar o RESULTADO assim: 0,00  ou  0.00

      Abaixo posto o código.
      jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })  
       
      Grato,
       
      Cesar
       
       
    • Por violin101
      Caro amigos, saudações.

      Tenho uma tabela escrita em JS que funciona corretamente.
       
      Minha dúvida:
      - como devo fazer para quando a Tabela HTML estiver vazia, exibir o LOGO da Empresa ?

      Abaixo posto o script:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'i' ) return;// Não é Ctrl+A, portanto interrompemos o script evt.preventDefault(); //Chama a Função Calcular Qtde X Valor Venda calcvda(); var idProdutos = document.getElementById("idProdutos").value; var descricao = document.getElementById("descricao").value; var prd_unid = document.getElementById("prd_unid").value; var estoque_atual = document.getElementById("estoque_atual").value; var qtde = document.getElementById("qtde").value; var vlrunit = document.getElementById("vlrunit").value; var vlrtotals = document.getElementById("vlrtotal").value; var vlrtotal = vlrtotals.toLocaleString('pt-br', {minimumFractionDigits: 2}); if(validarConsumo(estoque_atual)){ //Chama a Modal com Alerta. $("#modal_qtdemaior").modal(); } else { if(qtde == "" || vlrunit == "" || vlrtotal == ""){ //Chama a Modal com Alerta. $("#modal_quantidade").modal(); } else { //Monta a Tabela com os Itens html = "<tr style='font-size:13px;'>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='id_prds[]' value='"+idProdutos+"'>"+idProdutos+"</td>"; html += "<td width='47%' height='10'>"+ "<input type='hidden' name='descricao[]' value='"+descricao+"'>"+descricao+ "<input type='hidden' name='esp[]' value='"+prd_unid+"'> - ESP:"+prd_unid+ "<input type='hidden' name='estoq[]' value='"+estoque_atual+"'></td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='qtde[]' value='"+qtde+"'>"+qtde+"</td>"; html += "<td width='12%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrunit[]' value='"+vlrunit+"'>"+vlrunit+"</td>"; html += "<td width='14%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrtotal[]' value='"+vlrtotal+"'>"+vlrtotal+"</td>"; html += "<td width='12%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-uvas btn-remove-produto' style='margin-right:1%; padding:1px 3px; font-size:12px;' title='Remover Item da Lista'>"+ "<span class='fa fa-minus' style='font-size:12px;'></span></button></td>"; html += "</tr>"; $("#tbventas tbody").append(html); //Função para Somar os Itens do Lançamento somar(); $("#idProdutos").val(null); $("#descricao").val(null); $("#prd_unid").val(null); $("#qtde").val(null); $("#vlrunit").val(null); $("#vlrtotal").val(null); $("#idProdutos").focus(); //Se INCLUIR NOVO produto - Limpa a Forma de Pagamento $("#pgSoma").val(null); $("#pgRest").val(null); $("#pgDsct").val(null); $("#pgTroco").val(null); $("#tbpagar tbody").empty(); }//Fim do IF-qtde }//Fim do Validar Consumo });//Fim da Função btn-agregar  
      Grato,

      Cesar
       
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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