在li标记中显示复选框-CakePHP

在li标记中显示复选框-CakePHP,cakephp,tags,Cakephp,Tags,对于多个复选框,如何从->输入生成此类“代码”: 选项一是这个和那个—一定要包括为什么它是伟大的 选项2也可以选中并包含在表单结果中 现在我有了这个代码: echo $this->Form->input('User', array( 'label' => FALSE, 'type' => 'select', 'multiple' => 'checkbox', 'options' =&g

对于多个复选框,如何从->输入生成此类“代码”:

  • 选项一是这个和那个—一定要包括为什么它是伟大的
  • 选项2也可以选中并包含在表单结果中
现在我有了这个代码:

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>'
   ));
echo$this->Form->input('User',数组(
'label'=>FALSE,
'类型'=>'选择',
“多个”=>“复选框”,
“选项”=>$users,
'所选'=>$html->value('User.User'),
'在'=>'
  • '之间, '在'=>'之后
', “分隔符”=>“
  • ” ));
  • 但我用div标签代替了li标签:

    <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>
    
    • 安德拉ž 平子

    我发现没有办法呈现每个复选框或从复选框中删除
    div
    包装,使用
    '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'); ?>
    
    
    

    我发现没有办法呈现每个复选框或从复选框中删除
    div
    包装,使用
    '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'); ?>
    
    
    

    还有另一个名为“div”的选项,如果将其设为false,则它不会在div中换行。“div”=>false请尝试此选项。@Vins有正确的答案。如果要添加
    ,可以在
    之前和之后进行
    实验。请参阅表单帮助器文档是,但我喜欢将div标记更改为li标记。;)还有另一个名为“div”的选项,将其设为false,然后它将不会包含在div中。“div”=>false请尝试此选项。@Vins有正确的答案。如果要添加
    ,可以在
    之前和之后进行
    实验。请参阅表单帮助器文档是,但我喜欢将div标记更改为li标记。;)