0

此代码取自 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

4

1 回答 1

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

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

订单是这样的

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

你可以把它们放在最后,你不能把它们放在中间。这意味着您可以省略附加参数,不能省略默认值并添加附加参数。因此我的代码中的''在顶部。

您的问题需要更具描述性,在第一次阅读时,我认为未定义的是 data_search,但不是吗?

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

控制器:

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

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

于 2013-04-06T12:40:32.577 回答