从下拉列表中选择id /选择框codeigniter

时间:2014-02-08 17:38:55

标签: javascript php jquery codeigniter

我试图找出如何从保管箱中的选定值中检索ID号,从表中显示项目列表。

此时我所做的是检索该值,然后搜索它并获取该表中该值的ID号。那么字段name_project它是“唯一的”所以它不是那么糟糕但我想直接检索id而不查询数据库的情况!是否真的有必要使用jquery或javascript来做到这一点?

<?php echo form_open('solucao/inserir',array('class' => 'form-horizontal')); ?>
 <select class="form-control" id="project" name="project">
                            <option>--Choose Project--</option>
                            <?php foreach($projects as $data):?> 
                            <option><?php echo $data->name_project?></option>
                            <?php endforeach;?>  
                            </select>
<?php form_close(); ?>

注意:$ data是一个包含ID号的数组!

谢谢!

2 个答案:

答案 0 :(得分:0)

希望项目表中包含project_id和project_name作为字段名称

模特:

function getProjectArr()
{
    $res =  $this->db->get("project");
    $ret_arr = array();
    if($res-<num_rows()>0)
    {
       foreach($res->result() as $r)
       {
          $ret_arr[$r->project_id] = $r->project_name;
       }
    } 
    return $ret_arr;
}

在你的控制器中,

$data["project_list"] = $this->MODEL_NAME->getProjectArr();

在视图文件

echo form_dropdown("project",$project_list,'','id="project" class="form-control"');

您将获得带有ID作为选项值和名称作为选项文本的下拉列表。

答案 1 :(得分:0)

当你在select或options标签上获得id时。

然后获取所选选项的id,您可以使用此类内容。

document.getElementById('project').addEventListener('change', selectId);
function selectId(){
    alert(this.options[this.selectedIndex].id);
}

Demo

获取select标签的ID,然后您可以使用

document.getElementById('project').addEventListener('change', selectId);
function selectId(){
    alert(this.id);
}

Demo2