Vincent
Vincent

Reputation: 852

onchange function when selecting drop down menu will populate a textbox

this is my table in the database

tbl_job_title

ID | Job_title    | description     | 
1  | Accountant   | Handle Accounts |
2  | Dev. Support | Support Centre  |

when selecting the job title from the table, i'm using a drop down menu and here is my code.

<select id="job_title" >
   <option value=""> </option>
     <?php foreach ($job_title as $row): ?>
       <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?>
       </option>
     <?php endforeach?>
</select>

and I have a textbox that will populate if i select a job_title

<input type="text" id="catch_value">

How do I populate the textbox when I select example is "Accountant", the textbox value must be "Handle Accounts".

Upvotes: 0

Views: 3619

Answers (4)

Rohit Suthar
Rohit Suthar

Reputation: 3628

Here is the short & sweet code I have made just for you, feel free to use it! Not required Ajax...

CODE -

<select id="job_title" >
   <option value="" class="job" role=""> </option>
     <?php foreach ($job_title as $row): ?>
       <option value="<?php echo $row['id']; ?>" class="job<?php echo $row['id']; ?>" role="<?php echo $row['description']; ?>"><?php echo $row['title']; ?>
       </option>
     <?php endforeach?>
</select>

Jquery -

$('#job_title').on('change',function(){
    var m = this.value;
    var n = $('.job'+m).attr('role');
    $('#catch_value').val(n);
    return false;
});

eg - fiddle

Upvotes: 3

Diwakar upadhyay
Diwakar upadhyay

Reputation: 434

This is the right answer :

    <select id="job_title" onchange='populate()'>
   <option value=""> </option>
    <?php foreach ($job_title as $row): ?>
    <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?>
   </option>
 <?php endforeach?>
  </select>

   <script>
       function populate(){
        var jobttl= document.getElementById('job_title').value();
        if(jobttl){
          document.getElementById('catch_value').value;
        }

        }
   </script>

Upvotes: 1

Nilesh patel
Nilesh patel

Reputation: 1214

<select id="job_title" onchange="javascript:callajaxvalue(this.value);">
   <option value=""> </option>
     <?php foreach ($job_title as $row): ?>
       <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?>
       </option>
     <?php endforeach?>
</select>

<script>
    function callajaxvalue(id)
    {
          $.ajax({
           type: "POST",
           url: "some.php",
           data: { id: id}
            success: function(data, textStatus ){
                if(data)
                { $("#catch_value").val(data);}
            },
          })
    }
</script>

some.php

$_POST['id'];

$query = "get data from table";

execute query.

echo $row['description'];

For codeigniter

function callajaxvalue(id)
    {
          $.ajax({
           type: "POST",
           url: "my_controller/update/"+id,
           data: { id: id}
            success: function(data, textStatus ){
                if(data)
                { $("#catch_value").val(data);}
            },
          })
    }

my_Controller.php

    public function update()
    {
        $id = $this->input->post('id');
        $data['discription'] = call model function for get data form database

        echo json_encode($data);
    }

Upvotes: 2

bart2puck
bart2puck

Reputation: 2522

 $('#job_title').change(function(){
  $('#catch_value').val('Handle Accounts');
 }); 

see fiddle:fiddle

or you can add if statments

 $('#job_title').change(function(){
    var jt = $('#job_title').val();
if(jt == "Something")
{
  $('#catch_value').val('Handle Accounts');
}
if (jt == "SomethingElse")
{
   $('#catch_value').val('somethingelse');
}
 }); 

Upvotes: 1

Related Questions