Ir para conteúdo

POWERED BY:

Arquivado

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

SRL_23

[Resolvido] checkbox em um array

Recommended Posts

Boa tarde Colegas! :joia:

 

Estou com um broblema, com checkbox.... bom sem rodeios.

 

Etou fazendo um sistema onde o usuario seleciona Estado e ai é listado as cidades ai o cake faz um lista com checkbox com os bairros daquela cidade.

 

o meu codigo esta assim:

<?// Controle para as tabs ?>
<? foreach ($bairros as $bairro):?>
<?php echo $form->input('bairro',
		array('type'=>'checkbox',
		'label'=>$bairro['Bairro']['bairro'],
		'value'=>$bairro['Bairro']['bairro'])
);?>		
<? endforeach; ?>

 

 

Esse é o codigo fonte gerado pelo firefox:

<div class="input checkbox">
<input name="data[bairro]" id="bairro_" value="0" type="hidden">
<input name="data[bairro]" value="Granja do Torto" id="bairro" type="checkbox">
<label for="bairro">Granja do Torto</label>
</div>								
<div class="input checkbox">
<input name="data[bairro]" id="bairro_" value="0" type="hidden">
<input name="data[bairro]" value="Setor Cultural Norte" id="bairro" type="checkbox">
<label for="bairro">Setor Cultural Norte</label>
</div>								
<div class="input checkbox">
<input name="data[bairro]" id="bairro_" value="0" type="hidden">
<input name="data[bairro]" value="Setor de Autarquias Sul" id="bairro" type="checkbox">
<label for="bairro">Setor de Autarquias Sul</label>
</div>

e esse o print_r($this->data):

Array
(
   [Anuncio] => Array
       (
           [tiponegocio] => Aluguel
           [tipoimovel] => Apartamento
           [quarto] => 2
           [codimovel] => XXXXXXX
           [valor] => 
       )

   [Estado] => Array
       (
           [estado] => DF
           [cidades] => Brasilia
       )

   [bairro] => 0
)

O erro ta em "[bairro] => 0", não era para vir um [bairro]=>array()??

 

Sei que muita gente diz isso mas sou novo em cake :mellow: alguem sabe como colocar o checkbox para um array no $this->data??

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

tudo bom?

Bem vamos lá,

faça um find list com os criterios de busca

 

#no controller

<?php
$criterio = array(); //seus criterios de busca
$bairros = $this->Bairro->find('list',array('fields'=>array('Bairro.id','Bairro.nome'),'conditions'=>$criterio));

$this->set(compact('bairros'));

?>

 

Bem aqui vai mágica

com o find list os dadas serao retornados assim:

bairros = array(
  25 => 'Parque São José',
  30 =>'Parque Suécia' 
);

então o form tem uma opção que juntando com o type Select cria multiplos checkboxs apartir de uma lista de valores:

#na action

echo $form->input('bairros',array('type'=>'select','options'=>$bairros,'multiple'=>'checkbox'));

 

#options = Array de valores no esquema que mostrei acima

#multiple(checkbox) = exige varios valores sejam marcados , mas com o valor 'checkbox' ao inves de um select de multipla escolha e criar 'checkbox' (http://book.cakephp.org/view/193/options-multiple).

 

 

 

espero que tenha sido útil.

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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