cakephp 如何将div添加到单选按钮?

ymdaylpp  于 2022-11-11  发布在  PHP
关注(0)|答案(4)|浏览(172)

我是CakePHP的一个新用户。我正在尝试添加一些div来包含我的输入+我的标签。
这是我的发现

<?php 
$option =  array ("value1" => "labelContent1", "value2" => "abelContent2");
echo $this->Form->input('name', array('type' => 'radio', 'options' =>  $option, 'div' => true, "legend" => false));
?>

<div class="input radio">
    <input type="hidden" name="data[Quiz][name]" id="ModelName_" value=""/>
    <input type="radio" name="data[Quiz][name]" id="ModelName1" value="value1" />
    <label for="ModelName1">labelContent1</label>

    <input type="radio" name="data[Quiz][name]" id="ModelName2" value="value2" />
    <label for="ModelName2">labelContent2</label>
</div>

这是我想要的:

<div class="input radio">
    <input type="hidden" name="data[Quiz][name]" id="ModelName_" value=""/>
    <div>
        <input type="radio" name="data[Quiz][name]" id="ModelName1" value="value1" />
        <label for="ModelName1">labelContent1</label>
    </div>
    <div>
        <input type="radio" name="data[Quiz][name]" id="ModelName2" value="value2" />
        <label for="ModelName2">labelContent2</label>
    </div>
</div>

您知道是否可以通过使用FormHelper来制作它吗?

jhkqcmku

jhkqcmku1#

我知道这是一个旧的线程,但我不得不回复。正确的方法来实现这一点,而不创建一个坏的标记是使用之前和之后的选项:

echo $this->Form->input('name', array( 'type' => 'radio',
                                     'separator'=> '</div><div>',
                                     'before' => '<div>',
                                     'after' => '</div>',
                                     'options' =>  $option,
                                     'label' => true,
                                     "legend" => false
                                   )
                                );
ndasle7k

ndasle7k2#

看起来你不能用表单帮助器来实现。单选选项没有 Package 在任何东西中。请参阅代码。
您可以将'separator' => '<br/>'添加到Form-〉input options中,以便在单独的行中显示每个选项。
或者自己实现它。

y4ekin9u

y4ekin9u3#

you can try this

$option =  array ("value1" => "labelContent1", "value2" => "abelContent2");

    echo $this->Form->input('name', array( 'type' => 'radio',
                                        'separator'=> '</div><div>',
                                         'options' =>  $option,
                                          'label' => true,
                                          "legend" => false
                                         )
                                    );
jm2pwxwz

jm2pwxwz4#

<?php 
$option =  array ("value1" => "labelContent1", "value2" => "abelContent2");
echo $this->Form->input('name', array(
    'type' => 'radio',
    'options' =>  $option, 
    'templates' => ['radioWrapper' => '<div>{{label}}</div>'], 
    "legend" => false));
?>

这似乎对蛋糕3效果很好。+

相关问题