我對Symfony2表單感到陌生。我創建了一個帶有推動實體的表單,除了「選擇」(選擇)字段以外,值都沒有問題,它們沒有選定的值。symfony2:選擇字段的選定值
我試着一些技巧,如:
$params['choices'] = array('N/A'=> 'N/A');
$params['data'] = array('N/A');
$params['preferred_choices'] = array('N/A');
即使這樣,也沒有預選值。怎麼了 ?
我對Symfony2表單感到陌生。我創建了一個帶有推動實體的表單,除了「選擇」(選擇)字段以外,值都沒有問題,它們沒有選定的值。symfony2:選擇字段的選定值
我試着一些技巧,如:
$params['choices'] = array('N/A'=> 'N/A');
$params['data'] = array('N/A');
$params['preferred_choices'] = array('N/A');
即使這樣,也沒有預選值。怎麼了 ?
對於默認選定項目,您可以使用data
屬性。 $param['data'] = 'N/A'
這是抽象的「場」類型的一部分?
富勒示例形式中,
$form = $this->createFormBuilder()
->add('category', 'choice', array(
'choices' => array(
0 => 'Books',
1 => 'Electronics',
2 => 'Hardware`
),
'data' => 1
))
->getForm();
在這個例子中,當形式加載電子應該被選擇爲默認選項
'empty_value' => 'Select Choice',
$builder->add('gender', 'choice', array(
'choices' => array('m' => 'Male', 'f' => 'Female')
'empty_value' => 'Select Choice',
));
我終於解決了我的問題。有兩件事: *使用Firefox重新加載,之前選擇的值似乎保留,所以我沒有真正測試更改,直到我關閉當前選項卡並重新打開一個; *我將單維數組作爲「選擇」字段的值傳遞,因此Symfony2將其重新索引爲整數,並且我的實體字符串值無法合併爲字段的symfony2整數值。
這樣做,我有以下錯誤: 可捕獲的致命錯誤:參數1傳遞給Symfony \ Component \ Form \ Extension \ Core \ ChoiceList \ SimpleChoiceList :: __ construct()必須爲數組,字符串給定,調用在第176行中的C:\ Users \ ng4196c \ Workspaces \ inside \ inside_portal \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ Extension \ Core \ Type \ ChoiceType.php中,並且定義爲 的確,構造函數是: 公共職能__construct(數組$選擇,數組$ preferredChoices =陣列()){ ... 請 – Rolintocour 2015-03-02 08:17:13
在這裏分享你的代碼段 – Nisam 2015-03-02 08:18:31
可以ü請分享你的'form'建設者 – Nisam 2015-03-02 08:26:47