2017-04-14 119 views
0

嘿,大家我試圖設置selected =「selected」爲下拉列表,但似乎無法解決。如何將從數據庫表中提取的值設置爲cakephp下拉列表中的選定值?

例如 當用戶選擇編輯他的個人資料時,一個城市進入用戶的表格,其餘的細節出現在文本框中,但城市應該顯示在下拉列表中,默認選擇的值應該與城市匹配的用戶。

注: - citites直接進入了這樣

echo $this->Form->input("city",array("type"=>"select","empty"=‌​>"City","options"=>a‌​rray("city1"=>"city1‌​","city2"=>"city2","‌​city3"=>"city3","cit‌​y4"=>"city4"))); 

回答

1

您可以使用default作出任何選擇,因爲在0123選擇

嘗試:

echo $this->Form->input('city', array('type' => 'select', 'options' => array("city1"=>"city1‌​","city2"=>"city2","‌​city3"=>"city3","cit‌​y4"=>"city4"), "default" => "city1")); 
+0

我已經試過這個代碼多個部分框,但它的工作。我用逗號隔開了'1,2,3',將城市編號內嵌。但沒有得到選定的值。 – mageDev0688

+0

選擇'選項'必須是類似上面的數組'array(「city1」=>「city1」,「city2」=>「city2」)'不是逗號分開'1,2,3'爲了使'default'正常工作 –

+0

謝謝Mahesh我會嘗試。 – mageDev0688

0

你並不需要做選定任何有價值的東西。 Cakephp自動渲染字段名稱。因此,如果在用戶的用戶表的城市字段名稱是city_id比你需要編寫如下語句:

<?php echo $this->Form->input('city_id', array("label" => false, 'type' => 'select', 'options' => $cities, "empty"=>"Select City", "div" => false)); ?> 

但是,如果你的數據不是從城市表格呈現,那麼你需要寫選擇的相同的列名箱:

<select name="city"> 
<?php foreach ($city_array as $key => $value) { ?> 
    <option <?php echo ($value == $default) ? 'selected' : '' ?> value="<?php $value ?>"><?php echo $value</option> 
<?php } ?> 
</select> 

第三個選項來獲得像下面選擇值:

<?php echo $this->Form->input('city', array(
    'type' => 'select', 
    'options' => array('city1' => 'city1', 'city2' => 'city2', 'city3' => 'city3'), 
    'selected' => 'city1' 
)); 
?> 
+0

的citites直接輸入在這樣回聲$這 - >形式 - >輸入( 「受試者」 陣列( 「類型」=> 「選擇」,」空 「=>」 城市」, 「選項」=>陣列( 「city1」=> 「city1」, 「城2」=> 「城2」, 「請分享幫助」=> 「請分享幫助」, 「city4」=> 「city4」 ))); – phpNoob

+0

@phpNoob查看更新的答案!希望這會對你的情況有所幫助 – mageDev0688

+0

永不使用選定的,使用默認值(請參見Maheshs的正確答案)。 – mark