Javascript 如何基于下拉选择填充文本框?

Javascript 如何基于下拉选择填充文本框?,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我必须根据单个表中的下拉值填充文本框。。。。 这是我的桌子: 在这里,当我从下拉列表中选择类别1时,我希望文本框的值为400(价格),对于类别2,它应该填充500,以此类推。。。。我已经填充了db中的下拉列表值,请帮助我输入文本框值 控制器: public function viewcatprice() { $this->load->model('JcMeetingExpense_model');

我必须根据单个表中的下拉值填充文本框。。。。 这是我的桌子:

在这里,当我从下拉列表中选择类别1时,我希望文本框的值为400(价格),对于类别2,它应该填充500,以此类推。。。。我已经填充了db中的下拉列表值,请帮助我输入文本框值

控制器:

         public function viewcatprice()
            {
               $this->load->model('JcMeetingExpense_model');
               $data['query1'] = $this->JcMeetingExpense_model->viewcatprice();   
               $this->load- 
                        >view('JcMeetingExpense/jc_meeting_expense',$data);
            }
型号:

          function viewcatprice()
           {
             $query = $this->db->select('*')->from('jc_price_master')->get();
             return $query->result();
           }
视图:


人均金额:
请参阅

或者,如果您不想使用jQuery,请使用HTML标记的“onchange”属性,并在JS查看代码中处理它

 <select class="form-control" name="category" id='cat_id'>
    <?php   
    foreach($query1 as $row)
    { 
      echo '<option value="'.$row->category.'">'.$row- 
      >category.'</option>';
    }
    ?>
    </select>

jQuery(document).ready(function($) {
 $("#cat_id").on('change', function() {
    var cat_id = $(this).val();

    if(cat_id){
           $.ajax ({
            type: 'POST',
            url: 'php_file_that_select_price_from_category_id.php',
            data: { cat_id: cat_id },
            success : function(response) {
                var response = $.parseJSON(response);
                $('#num5').val(response.jc_price_master); 

            },error:function(e){
            alert("error");}
        });
     }
  });
});

$row
对象的结构是什么?请尝试
$row['category']
访问它。另外,请确保传递的是MySql结果,而不是查询本身(因为初始变量是
$query1
)。否则,你能发布一些周围的数据吗?现在请查看我编辑的问题。我试过了,但仍然不起作用。我做了这些改动,请看一看。。控制器:-公共函数ajax_price_list(){$this->load->helper('url');$this->load->model('JcMeetingExpense_model');$data['jc_price_master]=$this->JcMeetingExpense_model->getprice();$this->load->view('JcMeetingExpense/jc_meeting_expense',$data);}model:-函数getprice(){$this->db->select('price');$this->db->where('category',$category);$query=$this->db->get('jc_price_master');return$query->result();}在ajax url中,我使用了以下内容:-url:''您能确认是否调用了ajax吗?您是否更改了控制器?
 <select class="form-control" name="category" id='cat_id'>
    <?php   
    foreach($query1 as $row)
    { 
      echo '<option value="'.$row->category.'">'.$row- 
      >category.'</option>';
    }
    ?>
    </select>

jQuery(document).ready(function($) {
 $("#cat_id").on('change', function() {
    var cat_id = $(this).val();

    if(cat_id){
           $.ajax ({
            type: 'POST',
            url: 'php_file_that_select_price_from_category_id.php',
            data: { cat_id: cat_id },
            success : function(response) {
                var response = $.parseJSON(response);
                $('#num5').val(response.jc_price_master); 

            },error:function(e){
            alert("error");}
        });
     }
  });
});
 public function ajax_price_list() 
 { 
   $this->load->helper('url'); 
   $this->load->model('JcMeetingExpense_model'); 
   $data['jc_price_master'] = $this->JcMeetingExpense_model->getprice(); 
   //$this->load->view('JcMeetingExpense/jc_meeting_expense',$data); you do not have to load view here
   echo jason_encode($data);
 }