非常简单的form_dropdown codeigniter无法正常工作

时间:2013-04-06 10:52:58

标签: forms codeigniter

此代码取自CI用户指南:

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

echo form_dropdown('shirts', $options, 'large');

// Would produce:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

从上面的代码看,这段代码应该没问题(取自controller):

$data_search = array('kelas' => 'Kelas', 
                     'nama' => 'Nama',
                     'alamat' => 'Alamat',
                     'bulan' => 'Bulan Lahir');

在我的html(view)中:

<?php echo form_dropdown('ddl_search', $data_search, 'id="ddl_search"');?>

但事实是它给了我未定义的变量:data_search错误,你能解释一下这里发生了什么吗?谢谢你的时间:D

1 个答案:

答案 0 :(得分:1)

<?php echo form_dropdown('ddl_search', $data_search,'', 'id="ddl_search"');?>

再看一遍,您正在尝试将ID作为默认值传递,当然这在您的数组中不存在。

订单就像这样

form_dropdown('nameOfControl',$dataToPopulateControl,'defaultValueOfControl','additionalParameters');

你可以把它们放在最后,不能让它们离开中间。这意味着您可以省略其他参数,您可以省略默认值并添加其他参数。因此&#39;&#39;在我的代码顶部。

你需要在问题中更具描述性,在第一次阅读时我认为数据搜索是未定义的,但它不是吗?

查看已编辑的问题,您还有一个单独的问题。将数据从控制器传递到视图时,您需要一个包含其他数据数组的容器变量。

控制器:

$data['data_search'] = array('kelas' => 'Kelas', 
                     'nama' => 'Nama',
                     'alamat' => 'Alamat',
                     'bulan' => 'Bulan Lahir');
$this->load->view('whatever',$data);

如上所述将数据传递到视图将使$ data_search可用于视图。 $ data将单个变量(单个或数组)传递给视图,$ data本身在视图中不可用。