2016-05-04 128 views
-1

您好,我想在複選框笨過濾...但它顯示無法正常輸出......如果有人知道這個請儘量解決這個笨複選框過濾

這是我的控制器

<?php 
class Check extends CI_Controller { 
    public function laptops(){ 
    $this->load->model('check_m'); 
    $filter = array(
     'price' => $this->input->get('price'), 
     'name' =>$this->input->get('name') 
    ); 
    $data['laptop'] = $this->check_m->laptops_m($filter); 

    // echo json_encode($data['laptop']); 
    $this->load->view('check_view',$data); 
} 
} 
?> 

型號:

<?php 
class check_m extends CI_Model { 
    function laptops_m($filter = null){ 
    $this->db->select('*') 
      ->from('mobile_phones'); 
    // $query = $this->db->get('laptop_notebook')->result(); 
    // return $query; 
    if($filter['name']){ 
     $this->db->where('name', $filter['name']); 
    } 
    if($filter['price']){ 
     $this->db->where('price', $filter['price']); 
    } 
    $query = $this->db->get()->result(); 
    return $query; 
    } 
} 
?> 

查看

<input type="checkbox" name="name" value="acer" class="searcType">  
<input type="checkbox" name="name" value="lenovo">  
<input type="checkbox" name="price" value="1000"> 
<table> 
    <tbody> 
    <?php foreach ($laptop as $laptops_all) { ?> 
     <tr> 
     <td><p>Laptop <?php echo $laptops_all->name ?> </p></td> 
     </tr> 
    <?php } ?> 
    </tbody> 
</table> 

<script> 
    $('.searchType').click(function() { 
    alert($(this).attr('id')); //-->this will alert id of checked checkbox. 
    if(this.checked){ 
     $.ajax({ 
     url: localhost/code/check/laptops, 
     dataType: 'json', 
     success: function(data){ 
      $.each(data, function(index, element) { 
      $("tbody").empty(); 
      $("tbody").append("<tr><td>"+ 
       "Laptop "+element.brand+""+ 
       "</td></tr>"); 
      }); 
      } 
     }); 
    } 
    }); 
</script> 

在這裏我要爲過濾與複選框的項目......但我沒有得到濾波輸出....

+0

我想笨過濾複選框..動態...我想要做的是...這是正確的代碼...或任何修改? – chandu

+0

你的問題不清楚。在複選框中點擊你想過濾數據?對? 當匹配字符串使用like而不是where: $ this-> db-> like('name',$ filter ['name']); –

+0

亞..我已經嘗試在覈心php ..沒關係......但在codeigniter它,s不工作 – chandu

回答

0

你不發送任何參數$這個 - >輸入 - >獲得()去接。

如果你只是發送GET 要求,你會不會需要發送csrf_token像在評論中提到的人。


您可能需要檢查/設置一些配置變量的第一個。 這些都是的application/config/config.php文件

$config['uri_protocol'] = 'QUERY_STRING'; // OR AUTO 
$config['allow_get_array'] = TRUE; 
$config['enable_query_strings'] = TRUE; 

var BASEHREF = "<?php echo base_url();?>"; 

你的Ajax選項應該然後包括以下

{ 
    url : BASEHREF + 'check/laptops', 
    type : 'GET', 
    data : { name : 'toshiba', price : '1000'} 
} 
// GET http://yoursite.com/check/laptops?name=toshiba&price=1000