我需要从我正在使用的目录中填充下拉列表:
$dir = 'public/files/';
$files = scandir ($dir);
echo form_dropdown('myid', $files);
它工作正常,但我如何从菜单中获取所选项目? 我尝试过使用:
$selected=$this->input->post('myid');
但它不起作用。请帮忙。谢谢。
答案 0 :(得分:2)
首先通过jQuery获取下拉列表的值
var selected = $('[name="myid"] option:selected')
然后将其放入隐藏文本中。获得它的后期值。
答案 1 :(得分:1)
试试这个..
$dir = 'public/files/';
$files = scandir ($dir);
$selected=$this->input->post('myid');
//add selected to the function
echo form_dropdown('myid', $files, $selected);
答案 2 :(得分:0)
我不确定这是否可行,因为scandir()
生成数字数组,而form_dropdown
需要关联数组到文档:
$options = array(
'small' => 'Small Shirt',
'med' => 'Medium Shirt',
'large' => 'Large Shirt',
'xlarge' => 'Extra Large Shirt',
);
您可能必须遍历$files
数组才能将其转换为关联数组,并确保将键设置为正确的值。
答案 3 :(得分:0)
这应该有效:
$dir = 'public/files/';
$files = scandir ($dir);
foreach($files as $file){
$array_files[$file] = $file;
}
echo form_dropdown('myid', $array_files);
基本上,它会在之前创建一个关联数组并将其传递给下拉列表。希望它有所帮助