2010-08-26 33 views
2

的是有創建一個下拉結束 像1至50下拉數字

<select> 
    <option value='1'>1</option> 
    <option value='2'>2</option> 
    <option value='3'>3</option> 
    <option value='4'>4</option> 
    <option value='5'>5</option> 
</select> 

我不想創建一個自定義幫助或使用一個內置的輔助/選擇從開始的數字爲循環

+0

如果沒有助手可用,這可以很容易地在3行中完成。 – 2010-08-26 12:41:27

回答

2

只要做到:

$this->Form->input('numbers', array('type' => 'select', 'options' => range(0, 50))); 

如果需要fomething更復雜的像5左右開始像數做:

$options = range(5, 20); 
$this->Form->input('numbers', array('type' => 'select', 'options' => array_combine($options, $options))); 
+0

希望這可以工作 – aWebDeveloper 2010-08-27 07:33:24

3

沒有「神奇cakephp方式」來做到這一點。最好的辦法是實現這是你把控制器功能:

$numbers = array(); 
for($i = 1; $i < 50; $i++) { 
    array_push($numbers, $i); 
} 
$this->set('numbers', $numbers); 

然後在視圖:

$this->Form->input('numbers', array('type' => 'select', 'options' => $numbers)); 

我肯定還有其他的方法,但是這是迄今爲止最簡單的。

UPDATE:如果你願意,你可以使用:

foreach(range(1, 50) as $number) { 
    array_push($numbers, $number); 
}