Cakephp选择带有相应值的数字列表

Cakephp选择带有相应值的数字列表,cakephp,select,drop-down-menu,Cakephp,Select,Drop Down Menu,我有一个选择列表,我用它生成: echo $this->Form->input('number_of_vehicles', array('empty' => 'Select...', 'type' => 'select', 'options' => range(1, 10, 1))); 现在,它生成了一个从1到10的编号良好的选择列表,递增1…太好了。 但期权价值从0开始 <select name="data[Contact][number_of_vehic

我有一个选择列表,我用它生成:

echo $this->Form->input('number_of_vehicles', array('empty' => 'Select...', 'type' => 'select', 'options' => range(1, 10, 1)));
现在,它生成了一个从1到10的编号良好的选择列表,递增1…太好了。 但期权价值从0开始

<select name="data[Contact][number_of_vehicles]" id="ContactNumberOfVehicles">
<option value="">Select...</option>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
<option value="3">4</option>
<option value="4">5</option>
<option value="5">6</option>
<option value="6">7</option>
<option value="7">8</option>
<option value="8">9</option>
<option value="9">10</option>
</select>

选择。。。
1.
2.
3.
4.
5.
6.
7.
8.
9
10
如何获得与选项标记之间的文本相对应的值。 我可以用javascript绕过这个问题,但它并不理想。 当然,将普通html与普通php结合使用也很容易


做这件事的方法是什么?

请记住,CakePHP是PHP或PHP的扩展,如果你想这么说的话。选项接受任何PHP数组函数,只要输出是您想要的

根据您的具体需要,我建议使用
array\u combine
PHP函数。您可以按如下方式进行设置:

echo $this->Form->input(
            'number_of_vehicles',
            array(
                'empty' => 'Select...',
                'type' => 'select',
                'options' => array_combine(range(1,10,1),range(1,10,1))
            )
);
这将为您提供以下数组,CakePHP将神奇地将其包含在您的表单中:

Array
(
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
    [10] => 10
)
CakePHP将生成以下html代码:

...
<option value="">Select...</option>
<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>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
...
。。。
选择。。。
1.
2.
3.
4.
5.
6.
7.
8.
9
10
...
祝你好运

太好了,你救了我的命(Y)