以下是创建选择框的方法:
echo $this->Form->select('weekdays', array(
'1'=>__('Manday'),
'2'=>__('Tuesday'),
'3'=>__('Wednesday'),
'4'=>__('Thursday'),
'5'=>__('Friday'),
'6'=>__('Satruday'),
'7'=>__('Sunday')),
array('multiple'=>'checkbox', 'class'=>'checkbox2'));
输出带有以下HTML标记的7 checbox:
<div class="checkbox2">
<input type="checkbox" name="data[Event][weekdays][]" value="1" id="EventWeekdays1" />
<label for="EventWeekdays1">Monday</label>
</div>
但是需要的预期输出是:
<div class="checkbox2">
<input type="checkbox"
name="data[Event][EventWeekdays1]"
id="EventWeekdays1" class="css-checkbox" value="1" />
<label for="EventWeekdays1" class="css-label">Mandag</label>
</div>
我使用过文档,但在使用Form->select
非常感谢任何帮助或指导。
答案 0 :(得分:2)
仅使用FormHelper认可的东西:
$options = array(
'1'=>__('Manday'),
'2'=>__('Tuesday'),
'3'=>__('Wednesday'),
'4'=>__('Thursday'),
'5'=>__('Friday'),
'6'=>__('Satruday'),
'7'=>__('Sunday'));
$this->Form->input('weekdays', array(
'type' => 'select',
'div' => array('class'=>'checkbox2'),
'multiple'=>'checkbox',
'class'=>'css-checkbox',
'options' => $options,
'label' => array('class'=>'css-label')));
答案 1 :(得分:0)
我认为在阅读完你的问题之后,你最好自己构建标记,然后通过你需要的复选框上的$选项循环,所以:
$options = array(
'1'=>__('Manday'),
'2'=>__('Tuesday'),
'3'=>__('Wednesday'),
'4'=>__('Thursday'),
'5'=>__('Friday'),
'6'=>__('Satruday'),
'7'=>__('Sunday'));
<div class="checkbox2">
<?php foreach($options as $k => $v): ?>
<input type="checkbox"
name="data[Event][EventWeekdays<?php echo $k ?>]"
id="EventWeekdays<?php echo $k ?>" class="css-checkbox" value="<?php echo $v ?>" />
<label for="EventWeekdays<?php echo $k ?>" class="css-label">Mandag</label>
<?php endforeach; ?>
</div>
不是更好的方法,但它可以工作,可以解决您的问题。希望它有所帮助!