使用codeigniter中的选择框ajax过滤列表



我想使用选择框过滤表上的数据。当用户从选择框中选择值时,表上的列将被过滤。我的意思是,该表只显示包含用户选择的选择框中的值的数据。有人能帮我吗

这是我的ajax:

 <script>
    $("#inputJenis").on('change',function(){
      if($("#inputJenis").val() != 'Ganjil'){
        $.ajax({
        type: "POST",
        url:'<?php echo base_url()?>search/filter',
        data:'selectvalue='+$('#inputJenis').val(),
        cache: false,
        success: function(data){
          $(#tableData).html(data);
        },
        error: function(data){
        //return false;
      }
      });
    });
    });
</script>

这是我的控制器:

public function filter()
    {
        $this->load->helper('url');
        $this->load->model('filter_model');
        $this->filter_model->getData();
        $data = $this->filter_model->getData();
        echo json_encode($data);
    }

这是我的型号:

public function getData($type)
    {
        $this->db->select('jenis');
        $query = $this->db->get('tahunajaran');
        return $query->result();
        echo json_encode($query);
    }

此代码不起作用。请帮帮我

试试这个:

AJAX:

<script type="text/javascript">
   var base_url='<?php echo base_url(); ?>';
</script>    
<script>
$("#inputJenis").change(function(e){
  if($("#inputJenis").val() != 'Ganjil'){
    $.ajax({
    type: "POST",
    url:base_url+'search/filter',
    data:'selectvalue='+$('#inputJenis').val(),
    cache: false,
    success: function(data){
      $(#tableData).html(data);
    },
    error: function(data){
    //return false;
    }
   });
  });
});
</script>

控制器

public function filter()
{
    $this->load->helper('url');
    $this->load->model('filter_model');
    $this->filter_model->getData();
    $selectValue=$this->input->post('selectvalue')
    $data = $this->filter_model->getData($selectValue);
    echo json_encode($data);
}

型号

public function getData($selectValue)
{
    $this->db->select('jenis');
    //Change it with your Field Name
    $query = $this->db->where('SomeField',$selectValue)->get('tahunajaran'); 
    return $query->result_array();
}

最新更新