Carregar dinamicamente um combo [RESOLVIDO]

Eu tenho uma tabela que seleciona quais dias da semana o sistema ficará configurado para liberar coleta no cliente… cada cliente assina um plano e determina entre os dias de coleta possíveis qual o melhor dia para retirar material na casa dele…

então no formulário de cadastro de planos do cliente criei um combo com nome clpl_cd_coleta e no evento onload inseri o seguinte código:

//Altera a combobox de dias de coleta conforme definido na configuração dos planos

$sql_coleta = “SELECT
plco_cd_seg,
plco_cd_ter,
plco_cd_qua,
plco_cd_qui,
plco_cd_sex,
plco_cd_sab,
plco_cd_dom
FROM
tb_plano_config
WHERE
plco_cd_id=1”;

sc_lookup(rs, $sql_coleta);

if (isset({rs[0][0]}))
{
$cd_seg = {rs[0][0]};
$cd_ter = {rs[0][1]};
$cd_qua = {rs[0][2]};
$cd_qui = {rs[0][3]};
$cd_sex = {rs[0][4]};
$cd_sab = {rs[0][5]};
$cd_dom = {rs[0][6]};
}

$indice=0;

?>

<?php } Parece que o javascript não executa... existe alguma forma melhor de fazer isso? O javascript não deveria executar? Eu já inspecionei o código gerado e aparentemente está tudo ok...

Clique nessa janela em Início.
Na janela de pesquisa>: Select Dinamico

Obterá a ajuda que precisa.

ok vlw

Vi os exemplos mas todos usam ajax no método onchange… no meu caso precisaria carregar o combo ao carregar a aplicação. Notei que no onload do formulário o código é criado antes da aplicação criar o combo…

Se eu fizesse uma chamada a uma função javascript, usando a macro sc_ajax_javascript funcionaria… devo fazer essa chamada aonde? No OnNavigate? Isso funcionaria num formulário de um único registro?

teve a curiosidade de olhar os fontes?
entre na aplicação novamente.

Eu vi os fontes e acho que me atende… fiz um método javascript e tentei chamá-lo mas não funcionou… usei as ferramentas de desenvolvedor do firefox pra ver o código também e ví que no onload a chamada da funcão vem bem antes da criação do combo… daí minha dúvida em aonde faço a chamada… seria no onnavigate? funciona mesmo em formulário com um único registro?

Infelizmente não tem um “onAfterLoad” que permitisse criar as funções no final da aplicação… rs

no exemplo que demonstrei, eu utilizo na onload.
se entrar na aplicação, adicionar itens ao select, sair da aplicação e entrar novamente (na mesma sessão) o campo select é recriado com os últimos dados.

Para isso existe:
$( document ).ready(function() {

});

Pergunta como ese SELECT/COMBO deve aparecer?
ta confuso

Eu tenho uma tabela que diz quais dias da semana terá coleta… atualmente meu cliente só fará coleta de segunda a sexta mas posteriormente vai incluir finais de semana, então criei um formulário de configuração com várias informações e uma delas são os dias da coleta… esses dados ficam numa tabela.

No outro formulário, quando o cliente cadastra um plano, ele seleciona qual o dia de coleta preferencial… se no formulário de configurações eu deixei de segunda a sexta, o combo de dia de coleta só vai ser carregado com esses dias, se em alguma hora for alterado pra sábado também, o cliente poderá escolher o dia de sábado…

Vou tentar aqui e te falo. Não tinha entendido bem a explicação. Obrigado

Haroldo, funcionou tranquilo cara… valeu!

Estava quebrando a cabeça aqui… muito bom. Quando for tomar um choop vou te fazer um brinde kkkk

vlw aí

Nos informe a solução adotada.

Fiz isso aqui:

//Altera a combobox de dias de coleta conforme definido na configuração dos planos

$sql_coleta = “SELECT
plco_cd_seg,
plco_cd_ter,
plco_cd_qua,
plco_cd_qui,
plco_cd_sex,
plco_cd_sab,
plco_cd_dom
FROM
tb_plano_config
WHERE
plco_cd_id=1”;

sc_lookup(rs_coleta, $sql_coleta);

if (isset({rs_coleta[0][0]}))
{
$cd_seg = {rs_coleta[0][0]};
$cd_ter = {rs_coleta[0][1]};
$cd_qua = {rs_coleta[0][2]};
$cd_qui = {rs_coleta[0][3]};
$cd_sex = {rs_coleta[0][4]};
$cd_sab = {rs_coleta[0][5]};
$cd_dom = {rs_coleta[0][6]};
}
else
{
$cd_seg = 0;
$cd_ter = 0;
$cd_qua = 0;
$cd_qui = 0;
$cd_sex = 0;
$cd_sab = 0;
$cd_dom = 0;
}

$indice=1;

?>

"; <?php

A tabela tb_plano_config guarda a configuração dos dias de coleta…

Entendi, usou: $(document).ready(function() {

Isso aí… foi o pulo do gato. Ajax não é meu forte. Vlw

Nesse caso não há ajax.

Apenas é dito ao navegador para usar as funções javascript após a carga total da página.

posta uma imagen disso por favor eu continuo sem entender

Bom eu tenho um form com a configuração dos planos aonde informo os dias de coleta.


Captura de Tela 2017-02-20 às 17.55.53.png