CakePHP 3:在 select 中动态创建选项 |表单助手
CakePHP 3 : dynamically create options in select | Form Helper
我想生成 select
输入字段,例如
<select name="quantity">
<option value="">Quantity</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
其中选项是动态生成的。
有一个包含 int 值的 stock
列。我想生成与股票价值一样多的期权。例如:如果 stock
值为 5,则选项将从 1
到 5
。
我可以通过
生成select输入字段
$this->Form->select('quantity', [1,2,3,4,5], ['empty' => 'Quantity'])
但是这里生成的选项长度为5。我希望它根据 stock
列中的值生成。
$arr=[];
for($i = 0;$i<$stock;i++) array_push($arr, $i);
$this->Form->select('quantity', $arr, ['empty' => 'Quantity'])
你可以使用phprange函数
$options = array_combine(range(1, $stock), range(1, $stock));
$this->Form->select('quantity', $options, ['empty' => 'Quantity'])
首先使用 set 在控制器中设置 $stack 变量值
(简单方法):
$this->set('stack', $stack);
在您的视图中像这样使用该变量:
$options = range(1,$stack);
$this->Form->select('dropdown name', $options, ['empty' => 'Quantity'])
我想生成 select
输入字段,例如
<select name="quantity">
<option value="">Quantity</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
其中选项是动态生成的。
有一个包含 int 值的 stock
列。我想生成与股票价值一样多的期权。例如:如果 stock
值为 5,则选项将从 1
到 5
。
我可以通过
生成select输入字段$this->Form->select('quantity', [1,2,3,4,5], ['empty' => 'Quantity'])
但是这里生成的选项长度为5。我希望它根据 stock
列中的值生成。
$arr=[];
for($i = 0;$i<$stock;i++) array_push($arr, $i);
$this->Form->select('quantity', $arr, ['empty' => 'Quantity'])
你可以使用phprange函数
$options = array_combine(range(1, $stock), range(1, $stock));
$this->Form->select('quantity', $options, ['empty' => 'Quantity'])
首先使用 set 在控制器中设置 $stack 变量值 (简单方法):
$this->set('stack', $stack);
在您的视图中像这样使用该变量:
$options = range(1,$stack);
$this->Form->select('dropdown name', $options, ['empty' => 'Quantity'])