2012-08-22 58 views
0

我使用codeigniter的ion auth,除了不知道如何以與文本字段相同的方式對代碼下拉列表進行編碼之外,它的工作原理非常棒。如何使用codeigniter將下拉列表放入數組中

如果你想在視圖中顯示的文本字段,你必須發出這樣的:

<?php echo form_input($first_name);?> 

而且這是在控制器代碼:

$this->data['first_name'] = array(
    'name'  => 'first_name', 
    'id'  => 'first_name', 
    'type'  => 'text', 
    'size'  => 32, 
    'maxlength' => 32, 
    'value' => $this->form_validation->set_value('first_name'), 
); 

但如何把價值我的下拉列表到數組中?

我試圖把這個代碼下圖:

<?php 
$options = array(
        '' => 'Select', 
        'Dr' => 'Dr.', 
        'Mr' => 'Mr.', 
        'Mrs' => 'Mrs.', 
        'Ms' => 'Ms.', 
        'Prof' => 'Prof.', 
        'Mr. & Mrs.' => 'Mr. & Mrs.', 
       ); 
echo form_dropdown('title', $options, '$title'); 
?> 

我在想,下視我應該在代碼是這樣的:echo form_dropdown($title);一樣的文本字段,但什麼是控制下的代碼?

+0

uhm。我讀了三次你的問題,但我仍然沒有明白你在問什麼。 –

+0

你看到本段後的代碼「這是控制器下的代碼:」?該代碼適用於文本字段。我希望控制器中的代碼能夠在下拉列表中工作。 – jaypabs

回答

1

首先在你的控制器,你可以這樣做:

$options = array(
       '0' => 'Select', 
       'Dr' => 'Dr.', 
       'Mr' => 'Mr.', 
       'Mrs' => 'Mrs.', 
       'Ms' => 'Ms.', 
       'Prof' => 'Prof.', 
       'Mr. & Mrs.' => 'Mr. & Mrs.', 
      ); 
$data['options'] = $options 
$this->load->view('your_view',$data); 

在查看:

echo form_dropdown('title', $options, set_value('title')); 

而且認爲要保留下拉的值,如果出現表單驗證錯誤:

您只需要進行一些驗證即可保留下拉列表的值,例如:

$this->form_validation->set_rules('title','Titles','alpha'); 

如果未驗證,下拉列表將不會保留這些值,儘管使用了set_value

+0

謝謝。這樣可行。我有一些「選擇」值的問題。由於它已經被定義,所以設定的規則似乎將其驗證爲有效值。應該是,如果用戶選擇「選擇」值,它仍然會返回一個錯誤,如:標題字段是必需的。 – jaypabs

+0

更新了我的答案,所以現在如果選擇「select」會引發錯誤,您必須再次選擇Dr與Mr&Mr –

+0

之間的任何內容。但我想知道爲什麼消息是「標題字段可能只包含字母字符。」而不是「標題字段是必需的」。在set_rules第三個參數中使用'required | xss_clean'而不是'alpha'之前,這當然不起作用。可能還有另外一個參數。 – jaypabs

相關問題