我想生成select
输入字段,如
<select name="quantity">
<option value="">Quantity</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
其中选项是动态生成的。
有一个stock
列,其中包含int值。我想生成与股票价值一样多的期权。例如:如果stock
值为5,那么选项将从1
到5
。
我可以通过
生成选择输入字段$this->Form->select('quantity', [1,2,3,4,5], ['empty' => 'Quantity'])
但是这里产生的选项长度为5。我希望按照stock
列中的值生成它。
答案 0 :(得分:1)
你可以使用php range功能
List<Integer> result = inList.stream().map().Collect()
答案 1 :(得分:0)
$arr=[];
for($i = 0;$i<$stock;i++) array_push($arr, $i);
$this->Form->select('quantity', $arr, ['empty' => 'Quantity'])
答案 2 :(得分:0)
首先使用set 在控制器中设置$ stack变量值 (简单方法):
$this->set('stack', $stack);
在您的视图中使用此类变量:
$options = range(1,$stack);
$this->Form->select('dropdown name', $options, ['empty' => 'Quantity'])