我的代码如下所示:
public function makeEntryTime($first = '') {
$j = 0;
if (empty($first)) {
$j = 1;
} else {
$entry[$j] = $first;
$j++;
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' am'] = $i . ' am';
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' pm'] = $i . ' pm';
}
return $entry;
}
以下是下拉列表代码:
$this->Form->select('ClubOpenDay.0.open_time', $this->makeEntryTime(), array("empty" => false, 'class' => 'input-medium'));
我的问题是我得到的价值就像上午11点,上午12点。但是我想在我从数据库上午11点或上午12点获得价值时将其选中。任何想法我该怎么做?
答案 0 :(得分:0)
请试试这个:
<?php echo $this->Form->select('ClubOpenDay.0.open_time',$this->makeEntryTime(),array("empty" => false,'value' => $value_selected,'class' => 'input-medium')); ?>
“$ value_selected”是输入范围内的任何值。
即$ this-&gt; makeEntryTime()返回。
由于
答案 1 :(得分:0)
我认为您的方法在视野中,您不应该这样做。从你的函数中删除public并删除$ this来调用你的函数。
尝试将您的方法至少保留在控制器中。如果你想让你的方法在视野中,那就是这样。
function makeEntryTime($first = '') {
$j = 0;
if (empty($first)) {
$j = 1;
} else {
$entry[$j] = $first;
$j++;
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' am'] = $i . ' am';
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' pm'] = $i . ' pm';
}
return $entry;
}
echo $this->Form->select('selete_id', makeEntryTime(), array("empty" => false, 'class' => 'input-medium'));
但是如果你想让它成为MVC。
//controller
function makeEntryTime($first = '') {
$j = 0;
if (empty($first)) {
$j = 1;
} else {
$entry[$j] = $first;
$j++;
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' am'] = $i . ' am';
}
for ($i = $j; $i <= 12; $i++) {
$entry[$i . ' pm'] = $i . ' pm';
}
return $entry;
}
//page function - for examlpe add() method
public function add(){
$this->set('times', $this->makeEntryTime());
}
//view of add method
echo $this->Form->select('time_id', $times, array("empty" => false, 'class' => 'input-medium'));