Javascript Ajax onchange组合框不工作

Javascript Ajax onchange组合框不工作,javascript,ajax,codeigniter,Javascript,Ajax,Codeigniter,我知道这个问题在这个网站的许多其他案例中都被问过。但是,我仍然没有正确的答案来解决我的问题 我想为我的组合框和文本区域创建ajax函数。因此,当我在组合框中选择一个选项时,textarea中的文本将根据组合框的选定值而变化 更新:我的文本区号 这是我的组合框和文本框代码: 当我运行上面的代码时,alertid;在javascript get_模板中,函数语法起作用,因此每次选择选项时都会得到选项值。但问题是我无法从ajax的帖子中获得输出数据。有人能帮我吗?我知道这可能是一个基础知识,但我已经花

我知道这个问题在这个网站的许多其他案例中都被问过。但是,我仍然没有正确的答案来解决我的问题

我想为我的组合框和文本区域创建ajax函数。因此,当我在组合框中选择一个选项时,textarea中的文本将根据组合框的选定值而变化

更新:我的文本区号

这是我的组合框和文本框代码:


当我运行上面的代码时,alertid;在javascript get_模板中,函数语法起作用,因此每次选择选项时都会得到选项值。但问题是我无法从ajax的帖子中获得输出数据。有人能帮我吗?我知道这可能是一个基础知识,但我已经花了几个小时来解决这个问题,谢谢:

你能调用你的函数吗

public function ajax_template(){
    $id = $this->input->post('option');
    $q=$this->M_template->get_template($id)->row_array();
    echo "Test output".$q['content'];
    exit;
}

不使用ajax并检查它是否会显示任何内容。请在$id变量上传递静态值。

这很奇怪,我不知道我以前的代码为什么不工作。但是我发现了一种新的方法,通过对select语法使用change函数,并使用get方法而不是post

这是我的javascript和ajax函数

  $("#template").change(function() {
        var e = document.getElementById("template");
        var id = e.options[e.selectedIndex].value;

        $.ajax({ 
          url: '<?php echo base_url();?>Broadcast/ajax_template?option='+id, 
          success: function(msg){
             $('#template-content').val(msg);
      }});
    });

更改您的ajax\u模板方法

您将从M_模板获得作为数组的响应。你不能像那样回显数组。 使用echo json_encode$arrayname。在您的例子中,echo json_编码$q['content']


确保在ajax中提到数据类型:'json'

你的意思是ajax正在调用php函数,但没有返回值,对吗?你能告诉我发生了什么错误吗?@DeepakDholiyan yap,它没有返回任何值value@Kamlesh没有错误,即使我的控制台也很清楚。只需使用print\r$q;并检查输出结果。如果查询没有问题,我在id上使用静态变量,它从db返回正确的值。默认方法是get
public function ajax_template(){
    $id=$this->input->post('option');
    $q=$this->M_template->get_template($id)->row_array();
    echo "Test output".$q['content'];
}
public function ajax_template(){
    $id = $this->input->post('option');
    $q=$this->M_template->get_template($id)->row_array();
    echo "Test output".$q['content'];
    exit;
}
  $("#template").change(function() {
        var e = document.getElementById("template");
        var id = e.options[e.selectedIndex].value;

        $.ajax({ 
          url: '<?php echo base_url();?>Broadcast/ajax_template?option='+id, 
          success: function(msg){
             $('#template-content').val(msg);
      }});
    });
$id=$this->input->get('option');