简体   繁体   English

选择下拉菜单时的onchange函数将填充文本框

[英]onchange function when selecting drop down menu will populate a textbox

this is my table in the database 这是我数据库中的表

tbl_job_title 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 而且我有一个文本框,如果我选择一个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". 当我选择的示例是“ Accountant”时,如何填充文本框,文本框的值必须是“ Handle Accounts”。

Here is the short & sweet code I have made just for you, feel free to use it! 这是我为您制作的简短代码,请随时使用! Not required Ajax... 不需要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 - jQuery-

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

eg - fiddle 例如- 小提琴

<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 some.php

$_POST['id']; $ _POST ['id'];

$query = "get data from table"; $ query =“从表中获取数据”;

execute query. 执行查询。

echo $row['description']; 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 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);
    }
 $('#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');
}
 }); 

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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM