我想让组合框的所有值不仅仅是选定的值
例如:
$ price = array(' 100',' 200',' 300');
echo $ this-> form-> create(' Price_form',array(' url' =>数组(' controller' =>' ;塞尔''动作' = GT;'售后')));
echo $ this-> form-> input(' Price',array(' type' =>' select',' options' ; => $价));
echo $ this-> form-> end();
在SaleController中:
$ post_data = $ this-> request-> data [' Price_form'] [' Price'];
如果是这样,我只获得选定的值。现在,我希望获得所有值,例如:100,200,300 ..
我的Cakephp版本是2.5.7
如果知道方法,请帮助我......!
答案 0 :(得分:0)
这是不可能的。
你应该从Controller传递给视图,你将拥有它。
在控制器中:
$price=array(100,200,300);
$this->set('price',$price);
在你看来
echo $this->form->input('Price', array('type'=>'select','options'=>$price));
这是我看到的唯一方式
答案 1 :(得分:0)
在控制器中定义您的选项而不是查看,然后将它们直接从控制器而不是从发布的数据中
在控制器中
$prices = array(100, 200, 300);
if ($this->request->is('post') || $this->request->is('put')) {
$postedPrices = $this->request->data['Price_form']['Price']; // Selected Prices
$allPrices = $prices; // All price options
}
$this->set(compact('prices')); // Set prices for view
答案 2 :(得分:0)
您可能会尝试在隐藏的输入字段中传递它: (没试过这个)
查看:
$price = array('100','200','300');
...
$allPricesAsString = implode(',',$price);
$form->input('allPrices', array('value'=>$allPricesAsString,'type' => 'hidden'));
控制器:
$allPrices = explode(',',$this->request->data['Price_form']['allPrices']);
但实际上我不明白为什么要在视图中设置数据。 通常你应该像之前说的那样在控制器中这样做。