Я использую
$form->input('Model.name', array('multiple'=>'checkbox');
Я пытаюсь опираться на данные модели, чтобы установить для определенных флажков флажок.
Как я могу это сделать?
Я не использую CakePHP, но, согласно документам, кажется, что вы можете добавить опцию 'check'=>true
:
$form->input('Model.name', array('type'=>'checkbox','checked'=>true));
решение cmptrgeekken работает для одного флажка. Я предполагаю, что вы генерируете несколько флажков, для отношения HABTM или чего-то подобного.
Вам нужно передать в метод массив со значениями элементов, которые будут выбраны, например:
$options = array(1 => 'ONE', 'TWO', 'THREE');
$selected = array(1, 3);
echo $form->input('Model.name', array('multiple' => 'checkbox', 'options' => $options, 'selected' => $selected));
собирается генерировать следующее:
<div class="input select">
<label for="ModelName">Name</label>
<input name="data[Model][name]" value="" type="hidden">
<div class="checkbox">
<input name="data[Model][name][]" checked="checked" value="1" id="ModelName1" type="checkbox">
<label for="ModelName1" class="selected">ONE</label>
</div>
<div class="checkbox">
<input name="data[Model][name][]" value="2" id="ModelName2" type="checkbox">
<label for="ModelName2">TWO</label>
</div>
<div class="checkbox">
<input name="data[Model][name][]" checked="checked" value="3" id="ModelName3" type="checkbox">
<label for="ModelName3" class="selected">THREE</label>
</div>
</div>
Первый и третий флажок отмечен.
Просто помните, что на самом деле вы работаете с элементом множественного выбора, который просто отображается в виде кучки флажков (Что лучше IMO из-за удобства в использовании).
.Другой способ проверить флажок «Ярлык» прямо рядом с ней.
$form->checkbox('Model.name', array('checked'=>'checked'))?> Label
Ярлыка может быть, что когда-либо хочешь. Пример: 21 000-3000, шина, человек. Я уверен, что вы получите идею.