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


How to get id of selected option in dropdown?

我想在下拉列表中获取所选选项的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);

您应该将组织 ID 放在选项标记的值中。 喜欢这个

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

无需为每个选项标记提供 id 属性。当您提交表单时,"组织列表"的值将被选择组织ID。

这是 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"检索它。希望你明白了。

几件事你"应该"/"可以"改变。起初我注意到你的ID属性是"org",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') .

您必须

为每个id属性提供相应的<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>