Problema com combo dinamico

11 views
Skip to first unread message

juniorinternet

unread,
Dec 13, 2012, 4:09:21 PM12/13/12
to kohan...@googlegroups.com
Ola pessoal,

Estou com uma dúvida que ja me fez perder horas e não consigo achar uma solução plausivel:

Tenho um método que busca em um webservice motivos de atendimentos e me retorna o id e a descrição do motivo para carregar um combo.
Abaixo deste combo , possuo outros combos que devem ser carregados quando o combo superior for carregado.
Sem muito bla bla bla o método é esse e ja testei e esta funcionado:

/**
* Retorna um combo de motivos no formato ARRAY com uma consulta a um serviço web
*
* @param string|array Nome do campo ou array de atributos HTML
* @param array Valor do campo se usado um nome no primeiro parametro
* @param mixed Chave selecionada
* @param string String a ser anexada no final dos atributos
* @return string Dropdown list
*/
public function motivos($mixData, array $arrOptions = array(), $mixSelected = null, $strExtra = 'onChange="carregaMotivo().submit()"') {
$mixData = 'COD_MOTIVOS1';
$objWSPS8 = new WSPS8();
$objResult = $objWSPS8->listarMotivosAtendimentoCanal('', '', '', '', 'AAPF', false, 'ConsultaMotivoAtendimento', 0);
$objStatus = $objWSPS8->status();
if($objStatus->FAULT_CODE) {
$this->out(var_export($objStatus, true));
} else {
$strJson = (json_encode($objResult, true));
$arrRetorno = (json_decode($strJson, true));
$arrRetorno = (array_shift($arrRetorno));
$arrRetorno = (array_shift($arrRetorno));
$arrMotiv = array();
for($intI = 0; $intI < count($arrRetorno); $intI++)
$arrMotiv[$arrRetorno[$intI]['motivo-atendimento-id']] = $arrRetorno[$intI]['descricao'];
return form::dropdown($mixData, $arrMotiv, $mixSelected, $strExtra);
}
}

esse método ficava em uma classe e eu fazia isso para ele aparecer:

$objRow->addCell(wvd_filtro::motivos(null, 'DESCRICAO', '<< Selecione >>'));
só que a classe wvd_filtro ficava (que possuia o método) ficava em uma helpers do kohana, aí não poderia usar o método motivos para receber um parametro via ajax ,pois o helpers não é acessado.
Coloquei o método na pagina onde ele precisa ser exibido, porém não sei como chama-lo na linha:
$objRow->addCell(?????????????????????????? oque por aqui, ja tentei $this->motivos('COD_MOTIVO');????????) e nada!!!

Alguma luz?


Reply all
Reply to author
Forward
0 new messages