我尝试使用带有JavaScript的复选框发送ID。这是JavaScript代码:
function searchFilter() {
var colours = document.getElementsByName('colour[]');
var colour = "";
for (var i=0, n=colours.length;i<n; i++)
{
if (colours[i].checked)
{
colour += ","+colours[i].value;
}
}
$.ajax({
type: 'POST',
url: '<?php echo base_url(); ?>Cataloguegaes/ajaxData/',
data:'colour='+colour,
beforeSend: function () {
},
success: function (html) {
$('#postList').html(html);
}
});
}
我的HTML:
<label><b>colour :</b></label>
<ul class="list-unstyled rat">
<li><label><input type="checkbox" id="colour" name="colour[]" onclick="searchFilter();" value="1"><span>black</span></label></li>
<li><label><input type="checkbox" id="colour" name="colour[]" onclick="searchFilter();" value="2"><span>white</span></label></li>
<li><label><input type="checkbox" id="colour" name="colour[]" onclick="searchFilter();" value="3"><span>blue</span></label></li>
</ul>
当我发送给控制器时,黑色值为1黑色。 ID的结果是正确的print_r ($id) // **,1*
*
这是我的控制器Cataloguegaes:
function ajaxData(){
$conditions = array();
$colour = $this->input->post('colour');
print_r($colour); // result is 1 eg black
if(!empty($colour)){
$conditions['search']['colour'] = $colour;
}
//total rows count
$totalRec = count($this->catalok->get_all_product($conditions));
//get posts data
$data['posts'] = $this->catalok->get_all_produk($conditions);
//load the view
$this->load->view('view_filtering',$data);
}
但是当我进入模型时,结果变为// ,1,1,1
我的模特Catalok:
function get_all_product($params = array()){
$this->db->select('a.*, b.*');
$this->db->from('product a');
$this->db->join('product_get_color b','b.id_product =a.id_product','left');
$this->db->where('a.status','on');
$this->db->group_by('a.id_product');
// sort data by colour
print_r($params['search']['colour']); // this result **,1,1 IN HERE MY PROBLEM, Should be, 1**
if(!empty($params['search']['colour'])){
$this->db->where_in('c.id_opsi_get_colour',$params['search']['colour']);
}elseif($params['search']['colour'] = 0){
}
//get records
$query = $this->db->get();
//return fetched data
return ($query->num_rows() > 0)?$query->result_array():FALSE;
}
行。我简化了我的代码。而且我已经编写了成为我问题的代码行。
我的目标是通过复选框选择产品颜色。 请告诉我如何处理我的问题。谢谢印尼人民!
答案 0 :(得分:0)
只是添加爆炸。和合
$this->db->where_in('c.id_opsi_get_color',explode(',', $params['search']['colour']));