我正在開發一個CakePHP 2.3.2的應用程序,我在輸入選擇表單時遇到了一些麻煩。我在我的Controller中創建一個數組,其中包含一個狀態列表。在我看來,我發現,當我在輸入的'選項'字段中使用這個變量時,我沒有得到任何選擇選項。如果我在變量上做一個print_r,在視圖中,我確切地看到我認爲我應該看到的'選項'字段。我甚至試圖複製這個print_r的輸出,並把它放在'選項'字段,然後輸入選擇正常工作。CakePHP - 輸入選擇不從變量中選擇選項
這裏是我有什麼
在控制器
$options = 'array(1 => \'NSW\',2 => \'ACT\',3 => \'NT\');
$this->set('all_states, $options);
在查看
<?php
$options = $all_states;
echo $this->Form->create('Refine', array('url => '/ServiceDirectoryResults/view/refine'));
echo $this->Form->input('field' ,array(
'type' => 'select',
'label' => false,
'options' => $options
));
echo $this->Form->end('Refine Search');
?>
當我運行此我看到一個選擇,沒有選擇的選擇
如果我添加echo $ this-> Form-> end('Refine Search')後面的print_r($ options);我看到
array(1 => 'NSW',2 => 'ACT,3 => 'NT')
這是我所期待的,因爲它是的$選項變量,它是$ all_states變量從控制器傳遞的內容。如果我從print_r中獲取這個輸出,並在輸入中將它替換爲$選項,那麼選擇下拉菜單可以正常工作,並且我看到了三個選項。出於某種原因,我不能解決選擇工作正常,如果我硬編碼的選擇選項,但它不會工作,如果我傳遞一個變量包含數組到輸入選擇。
我真的很感激,如果有人能給我一個線索我在做什麼錯在這裏。
親切的問候
理查德
請確保提供的代碼完全反映了您的代碼......即使您使用StackOverflow顏色編碼也可以看到,整個過程中都缺少引號,並且不知道這是否是代碼問題,或者你的問題只是一個錯字。 – Dave 2013-04-28 19:39:55