erro ao preencher select option com select em ajax
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();
}
}

Discussão (2)
Carregando comentários...