2011-09-15 1 views
2

>入力プログラム、 "コード" のこの種:表示するチェックボックス - 複数のチェックボックスのためのFrom-から生成することができますどのようにCakePHP

<ul class="inputs-list"> 
<li> 
<label> 
<input type="checkbox" value="option1" name="optionsCheckboxes"> 
<span>Option one is this and that&mdash;be sure to include why it’s great</span> 
</label> 
</li> 
<li> 
<label> 
<input type="checkbox" value="option2" name="optionsCheckboxes"> 
<span>Option two can also be checked and included in form results</span> 
</label> 
</li> 
</ul> 

は今、私はこのコードを持っている:

echo $this->Form->input('User', array(
     'label' => FALSE, 
     'type' => 'select', 
     'multiple' => 'checkbox', 
     'options' => $users, 
     'selected' => $html->value('User.User'), 
     'between' => '<ul class="inline"><li>', 
     'after' => '</li></ul>', 
     'separator' => '</li><li>' 
    )); 

しかし、代わりのliタグのIは、すべてのdivタグでラップされます:

<ul class="inline"> 
<li> 
<input id="UserUser" type="hidden" value="" name="data[User][User]"> 
<div class="xlarge"> 
<input id="UserUser4" type="checkbox" value="4" checked="checked" name="data[User][User][]"> 
<label class="selected" for="UserUser4">Andraž</label> 
</div> 
<div class="xlarge"> 
<input id="UserUser5" type="checkbox" value="5" checked="checked" name="data[User][User][]"> 
<label class="selected" for="UserUser5">Pinko</label> 
</div> 
</li> 
</ul> 
+2

「div」という別のオプションがありますが、falseにするとdiv内に折り返されません。 'div' => falseこのオプションを試してください。 – Vins

+0

いいえ、動作していません。 – AtLeT

+0

@Vinsには正しい答えがあります。 [本を読む](http://book.cakephp.org/view/1397/options-div)。 ' 'を追加したい場合は、' before'と 'after'を試すことができます。フォームヘルパーのドキュメント – Ross

答えて

0

私は、各チェックボックスを描画する方法を発見していないか、を取り除きますチェックボックスからのラッパー('type' => 'select''multiple' => 'checkbox'を使用)。リスト内のユーザーをループすることをお勧めします。各エントリに'type' => 'checkbox'を使用してください。これによりレンダリングの柔軟性が向上します。

<?php 
    $lUserList = Array(
    '0' => 'Simon', 
    '1' => 'AtLet', 
    '2' => 'Vins', 
    '3' => 'Ross' 
    ); 
?> 

<?php echo $this->Form->create(); ?> 

<ul> 
    <?php foreach($lUserList as $k => $v): ?> 
    <li>  
     <?php  
      echo $this->Form->input('User.'.$k, array(
        'type' => 'checkbox', 
        'label' => $v, 
        'div' => false 
       )); 
     ?> 
    </li> 
    <?php endforeach; ?> 
</ul>  

<?php echo $this->Form->end('Save'); ?> 
関連する問題