$ selected属性在codeigniter form_dropdown()中不起作用

时间:2013-05-29 13:32:56

标签: forms codeigniter selected html-select

我有一个带有下拉列表的编辑表单,用于选择类别。 我还创建了一个从数据库中获取类别的函数。

我为下拉菜单设置了一个数组$opties以选择表单,并为$selectie设置了一个名为<tr> <td><?= form_label('Categorieen'); ?></td> <td><?= form_dropdown('categorieen', $opties, $selectie); ?></td> </tr> 的'selected'参数。这个参数包含数据库中该特定公司的类别。

看起来像这样:

print_r($selectie)

问题

为什么我的“选定”部分无效?

当我做Array ( [12] => Vlaggen ) 时,我得到:

print_r($opties)

这是我在数据库中的类别。

当我做Array ( [11] => Webdesign [12] => Vlaggen [13] => Auto-s [14] => Electronica [15] => Boeken [16] => Antiek-en-Kunst [17] => Auto-Onderdelen [18] => Computers-Hardware [19] => Computers-Software ) 时,我得到:

function updatebedrijven()
{
    $dbres = $this->db->get('categorieen');
    $ddmenu = array();
    foreach ($dbres->result_array() as $tablerow) {
        $ddmenu[$tablerow['idcategorieen']] = $tablerow['Categorie'];
    }
    $data['opties'] = $ddmenu;
    $id = $this->uri->segment(3); 
    $id2 = $this->uri->segment(3); 

    $data['selected'] = $this->members_model->getselection($id2);

    $data['info'] = $this->members_model->getbedrijf($id); 
    $data['id'] = $id;
    $this->load->view('members/header');
    $this->load->view('members/editform', $data);
    $this->load->view('members/footer');    
}

我不知道问题是什么。 一些帮助将不胜感激。

控制器:

//This one is for the $opties

function getbedrijf($id) 
{ 
    $this->db->where('idbedrijven', $id); 
    $query = $this->db->get('bedrijven'); 

    if ($query->num_rows() == 1) { 
    $row = $query->row_array(0); 

    return $row; 
    } 
}

//This one is for the $selectie

function getselection($id2)
{
    $this->db->from('bedrijfcategorieen');
    $this->db->join('categorieen', 'bedrijfcategorieen.idcategorieen = categorieen.idcategorieen');
    $this->db->where('bedrijfcategorieen.idbedrijven', $id2);
    $query = $this->db->get();

    return $query->result();
}

型号:

{{1}}

1 个答案:

答案 0 :(得分:2)

form_dropdown使用数组key => value作为其'value' and 'option', 要从您的下拉列表中选择数据,您将需要所选数据的键,例如您选择

[12] => Vlaggen要选择它,你需要它的键12,而不是像

这样的数组
Array
(
    [12] => Vlaggen
)

<? 
//just for testing
echo form_dropdown('categorieen', $opties, key($selectie)); 
?>