使用ajax过滤表结果

时间:2015-05-18 19:28:01

标签: ajax codeigniter checkbox filtering

我正在使用codeigniter框架在php网上商店网站上工作,我希望能够使用带有ajax的复选框来过滤我的表格结果

查看:

<input type="checkbox" name="brand" value="acer">  


<input type="checkbox" name="brand" value="lenovo">    

<input type="checkbox" name="pret" value="1000">   



 <table>
        <tbody>
        <?php foreach ($laptops_toate as $laptops_all) { ?>
            <tr>
                <td><img src="http://localhost:82/ci/images/emag/<?php echo $laptops_all->file ?>"></td>
                <td><p>Laptop <?php echo $laptops_all->brand ?> </p>
                </td>


            </tr>
        <?php } ?>
        </tbody>
    </table>  

控制器:

 public function laptops()
{

    $filter = array(
        'pret' => $this->input->get('pret'),
        'brand' =>$this->input->get('brand')
    );

    $data['laptops_toate'] = $this->emag_model->laptops_toate_grid($filter);

    $this->renders('emag/laptops', $data);
}  

型号:

 public function laptops_toate_grid($filter = null){
    $this->db->select('*')
             ->from('laptop_notebook');
   // $query = $this->db->get('laptop_notebook')->result();
   // return $query;
    if($filter['brand']){
        $this->db->where('brand', $filter['brand']);
    }
    if($filter['pret']){
        $this->db->where('pret', $filter['pret']);
    }
    $query = $this->db->get()->result();

    return $query;

}

现在问题出现在ajax代码中,我不知道如何将数据过滤器发送到服务器以便接收成功函数。

1 个答案:

答案 0 :(得分:1)

查看:

<script>
$("input[checkbox]").change(function(){
               $.ajax({
            url: route,
            dataType: 'json',
            success: function(data){
                $.each(data, function(index, element) {
                    $("tbody").empty();
                    $("tbody").append("<tr><td>"+
                    "Laptop "+element.brand+""+
                    "</td></tr>");
                });
            }
        }); 

控制器:

 public function laptops()
{

$filter = array(
    'pret' => $this->input->get('pret'),
    'brand' =>$this->input->get('brand')
);

echo json_encode($this->emag_model->laptops_toate_grid($filter));
} 

现在只做console.log(数据);首先在$ .each()中查看你的数组是什么样的。