如何在下拉列表中获取所选选项的ID?

时间:2016-02-02 14:45:49

标签: php codeigniter

我想在下拉列表中获取所选选项的ID。

我有一个显示数据库公司名称的dropdow。现在我想得到那家公司的id。我该怎么做?

<select required name="org-list" id="org-list" class="form-control">    
    <option value="">Select</option>    
    <?php foreach($org as $value) { ?>              
        <option id="org"  value="<?php echo $value['org_name'];?>"><?php echo $value['org_name']; ?></option>
    <?php } ?>
</select>

模型

public function get_organisation()
{
    $q = $this->db->select('*') 
        ->from('company') 
        ->get(); 
    return $q->result_array(); 
}

在我的控制器中,我想从数据库中选择选项的ID。

$data = $this->key_m->array_from_post(array('id','org-list','keys'));
$data['keys'] = $license;
var_dump($data);

4 个答案:

答案 0 :(得分:3)

您应该将组织ID放在选项标记的值中。像这样

<option value="<?php echo $value['org_id'];?>"><?php echo $value['org_name']; ?></option> 

无需为每个选项标记提供id属性。当您提交表单值“org-list”时,将选择组织ID。

答案 1 :(得分:2)

这是ajax方式

$.post(url,{ id : "id value from drop down here" },function(data){
    //This is the call back for success
})

对于那个,你需要jquery。这是最简单的使用方法。 Url是您回发到服务器的地方。

  

在你的服务器端抓住这样的

$this->input->post('id')

因为你在ajax请求中使用了“id”。所以你必须使用字段名'id'来检索它。希望你明白。

答案 2 :(得分:0)

您必须为每个id attr提供价值。对应<option>

<select required  name="org-list"  id="org-list" class="form-control">  
   <option value="">Select</option>    
     <?php foreach($org as $value): ?>              
         <option id="<?php echo $value['org_id'];?>"  value="<?php echo $value['org_name'];?>"><?php echo $value['org_name']; ?></option>
     <?php endforech; ?>
</select>

答案 3 :(得分:0)

有些事情你应该“/可能”改变。起初我注意到你的ID属性是“org”,Id应该是唯一的而你的ID不是。虽然,回到实际的问题。您应该按照以下方式更改代码:

<select required  name="org-list"  id="org-list" class="form-control">  
    <option value="">Select</option>    
      <?php foreach($org as $value): ?>              
           <option id="<?php echo $value['org_id'];?>"  value="<?php echo $value['org_id'];?>"><?php echo $value['org_name']; ?></option>
      <?php endforeach; ?>
</select>

现在,您可以在控制器中获取所选的ID,如:$this->input->post('org-list')