2009-09-07 5 views
0

J'utilise jQuery et CakePHP pour mon application.

Dans mon application avec les données que j'ai enregistrées dans la base de données, par exemple si la colonne Type de champ est du texte, je génère une zone de texte dans mon code en utilisant $ form-> input();

Si elle est une zone de liste déroulante, je générer à l'aide:

echo $form->input($r['Attribute']['label'], 
    array('id'=>$r['Attribute']['id'],'name'=>$r['Attribute']['label'], 
     'options' => array(1,2,3,4,5))); 

Maintenant, j'ai un champ de type « bouton radio ». J'essaye de créer la boîte de radio dans CakePHP. Est-ce possible ... Si oui, comment?

Répondre

4

En utilisant FormHelper::input(), vous pouvez spécifier le type de champ que vous voulez en définissant l'option type:

echo $form->input($r['Attribute']['label'], array(
    'type' => 'radio', 
    'id' => $r['Attribute']['id'], 
    'name' => $r['Attribute']['label'], 
    'options' => array(1, 2, 3, 4, 5), 
)); 

Contrairement à appeler directement FormHelper::radio(), l'étiquette de l'entrée et les erreurs de validation seront rendus.

+0

Et un combat de radio booléens? où la valeur de base de données d'entrée est type boolean mais cake (ou PDO) montre 'f' et 't'? Je ne peux pas obtenir la valeur booléenne pour régler l'option radio correcte (sur edit.cpt). –

1

Par exemple:

$options=array('M'=>'Male','F'=>'Female'); 
$attributes=array('legend'=>false); 
echo $this->Form->radio('gender',$options,$attributes); 

Essayez avec vos attributs

+0

Et une radio booléenne? où la valeur de base de données d'entrée est type boolean mais cake (ou PDO) montre 'f' et 't'? Je ne peux pas obtenir la valeur booléenne pour régler l'option radio correcte (sur edit.cpt). –

0
echo $form->input($r['Attribute']['label'], 
    array('id'=>$r['Attribute']['id'],'name'=>$r['Attribute']['label'], 
     'type'=>'radio', 
     'options' => array(1=>'male',2=>'female',3=>'Others') 
    )); 
Questions connexes