Rajan
Rajan

Reputation: 2425

How to get id of selected option in dropdown?

i want to get the id of selected option in dropdown.

I have a dropdow that displays company names from database. Now I want get the id of that company. How do i do that?

<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>

The Model

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

And in my controller i want the id of selected option from database.

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

Upvotes: 3

Views: 22106

Answers (4)

Wai Yan Hein
Wai Yan Hein

Reputation: 14771

This is the ajax way

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

For that one, you need jquery. The is the easiest way to use. Url is where you are posting back to server.

In your server side catch like this

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

Because you used "id" in the ajax request. So you have to retrieve it using the field name 'id' . Hope you get it.

Upvotes: 2

Niklesh Raut
Niklesh Raut

Reputation: 34914

You should put the organization id in option tag's value. like this

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

No need to provide id attribute to each option tag. When you will submit the form value of "org-list" will be selected organization id.

Upvotes: 3

killstreet
killstreet

Reputation: 1332

There are a couple things which you "should" / "could" change. At first I noticed that your ID attribute is "org", Id's are supposed to be unique and yours is not. Though, back to the actual question. You should change your code as follow:

<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>

Now in your controller you grab the selected ID like: $this->input->post('org-list').

Upvotes: 1

JuZer
JuZer

Reputation: 783

You have to provide value for each id attr. for corresponding <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>

Upvotes: 0

Related Questions