cakephp: Как установить флажок для флажка?

Я использую

$form->input('Model.name', array('multiple'=>'checkbox');

Я пытаюсь опираться на данные модели, чтобы установить для определенных флажков флажок.

Как я могу это сделать?

26
задан sth 14 November 2010 в 09:55
поделиться

3 ответа

Я не использую CakePHP, но, согласно документам, кажется, что вы можете добавить опцию 'check'=>true:

$form->input('Model.name', array('type'=>'checkbox','checked'=>true));

, так как это один из вариантов функции .

24
ответ дан 28 November 2019 в 06:44
поделиться

решение 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 из-за удобства в использовании).

.
30
ответ дан 28 November 2019 в 06:44
поделиться

Другой способ проверить флажок «Ярлык» прямо рядом с ней.

$form->checkbox('Model.name', array('checked'=>'checked'))?> Label 

Ярлыка может быть, что когда-либо хочешь. Пример: 21 000-3000, шина, человек. Я уверен, что вы получите идею.

0
ответ дан 28 November 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: