2015-06-13 73 views
0

我想獲取其具有2列的表:ID和名稱, ,我想色譜柱內徑爲每個選項值,和列名作爲選項名笨form_dropdown,設置選項值

這是我的控制器

//populate provinsi 
 
     $this->load->model('Provinsi'); 
 
     $provinsi = $this->Provinsi->get(); 
 

 
     $this->load->view('admin/pages/product_form', array(
 
      'provinces' => $provinsi, 
 
     ));

在我看來

<?php 
 
$options_provinsi = array('select_one' => 'Select one'); 
 
foreach ($provinces as $provinsi) { 
 
     $options_provinsi[] = array(
 
       $provinsi->id => $provinsi->nama, 
 
     ); 
 
} 
 

 
$extra = 'id="provinsi" class="form-control" onChange="loadLocation('provinsi','kota');"'; 
 
echo form_dropdown('provinsi', $options_provinsi, 'select_one', $extra); 
 
?>
此代碼滿足我的需求,而是因爲我使用數組,下拉變成了這個樣子:

dropdown_error

如何設置選項值,而無需使用一個數組?

回答

0

取代你的foreach循環

foreach ($provinces as $provinsi) { 
     $options_provinsi[$provinsi->id] = $provinsi->nama; 
} 

,並鑑於

$extra = null; 
echo form_dropdown('provinsi', $options_provinsi, 'select_one', $extra); 
+0

感謝小夥們^^,看到你的回答哈哈哈後,我覺得真的很愚蠢。應該學到更多 – stacheldraht27

0

把這個:

$extra_string = null; 
foreach($extra as $key => $value) { 
    $extra_string .= " {$key}='{$value}'"; 
} 

,並更改最後一行是:

echo form_dropdown('provinsi', $options_provinsi, 'select_one', $extra_string); 

正如你可以看到檢查codeigniter文檔,你會發現額外的PARAM應該是字符串不是一個數組。

  • 如果它是一個數組,那麼form_dropdown()將產生一個數組鍵,作爲標籤。
+0

感謝提醒我有關參數$多餘的,但是從options_provinsi $陣列來的問題。 – stacheldraht27

+0

不,你的問題是因爲數組類型中的$ extra參數產生了這導致你附加的圖片。 –

+0

如果我像上面那樣改變我的額外費用,是否與您的示例相同? – stacheldraht27