eu uso da seguinte maneira:

echo form_dropdown_custom('nome_do_select', $valores_da_combo,
isset($valor_recuperado) ? $valor_recuperado : set_value('nome_do_select'));

onde,
nome_do_select é o nome do campo select do formulário

$valores_da_combo são os valores que irão montar o select no formulário
(oriundo de uma consulta do banco de dados, por exemplo)

$valor_recuperado, se esse valor existir, quer dizer que estou buscando os
dados e estou querendo editá-lo, assim a combo irá mostrar o valor
de acordo com o parâmetro, agora, se o valor não existir, inicialmente ele
mostra o primeiro valor da combo, quando submeto o formulário, caso houver
um erro, então a função set_value('nome_do_select') entra em ação mantendo o
valor da combo selecionado.

espero ter explicado direito.

tem algum problema desse jeito ?


2011/8/4 Julio Fagundes <[email protected]>

> Ok, vc pode até adaptar, mas ai pode ser chamado do uma gambiarra porque
> tem metodo correto pra isso.
>
> - o set_value é pra inputs do tipo text, hidden, password. use de maneira
> correta, assim como o set_select pra select, set_radio, etc... pense nas
> boas práticas ;)
>
> - Não acho um bug, acho que cada coisa ta no seu lugar, acho que o metodo
> nao precisa analisar TODOS os inputs se você só quer validar alguns:
>
> Poe a mão na massa, cria um helper ou faz assim:
>     value="<?php echo ($this->input->post('campo')) ?
> $this->input->post('campo',**true) : null ?>"
>
> Lembra que o CI so valida os que não tem "required", se esses forem
> preenchidos, ou seja:
>    required|is_int - input veio preenchido vazio = FALSE
>    is_int - input veio preenchido vazio = TRUE
>    is_int - input veio preenchido com 'abcxd' = FALSE
>
> - como vc vai saber se passou ou não as validações? tem que ter um metodo
> pra te informar isso né:
>
> if($this->form_validation->**run() === TRUE)
> {
>        // Passou
> }
> else
> {
>        // Erro
> }
>
>
>
>
>
> Em 2/8/2011 22:39, Marcelo Diniz escreveu:
>
>> Consegui resolver com o set_value() mesmo, o problema é que se quer
>> utilizar
>> ele, vc obrigatóriamente tem q criar regra de validação com
>> form_validation
>> e verificar e usar o $this->form_validation->run().
>>
>> Dai eu pergunto, isso é um bug a ser corrigido?
>>
>> Em 2 de agosto de 2011 17:20, Julio Fagundes
>> <[email protected]>**escreveu:
>>
>>  Você tem que usar o set_select();
>>>
>>
>>
>>
>>
>
> --
> *Sds
> Julio Fagundes*
>
> Desenvolvedor Web - http://juliofagundes.com/ <http://juliofagundes.com>
> Cel: 22 9956-5987
> Skype: julio-fagundes <skype://julio-fagundes?call>
>
> ______________________________**_________________
> [email protected]
> http://www.codeigniter.com.br
> http://mail.codeigniter.com.**br/mailman/listinfo/lista_**
> codeigniter.com.br<http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br>
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.**net <http://www.franquiasargohost.net>
> ---------------------------
>



-- 
Paulo Balzi
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a