[英]filtet data by checkbox using jquery ajax mysql and php
I have a group of dynamic checkbox of location 我有一组动态复选框的位置
<?php foreach($qry_2 as $v2) { ?>
<li class="checkbox">
<label>
<input type="checkbox" class="i-check" id="locality" name="locality[]" value="<?php echo $v2['outlet_locality'] ?>"><?php echo $v2['outlet_locality'] ?>
<small class="location"><?php echo '('.$v2['outletCount'].')' ?></small>
</label>
</li>
<?php } ?>
and I got aprox 10 input checkbox values I want to filter the content according to the checkbox(multiple select) using jQuery and send data to filter.php
to retrive as json data 我有一个aprox 10输入复选框值,我想使用jQuery根据复选框(多次选择)过滤内容,并将数据发送到
filter.php
以作为json数据检索
$('input#locality').change(function () {
var locality = [];
$(':checkbox:checked').each(function (i) {
locality.push($(this).val());
});
$.post("php/filter.php", {name: locality}, function(data){
});
});
when I checked the checkbox I got indivisual value not an array, so how can I get the array value of multiple checkbox checked to send to and retrive data from filter.php
my filter.php 当我选中复选框时,我得到的是indivisual值而不是数组,那么如何才能获得多个复选框的数组值,以便发送到
filter.php
我的filter.php并从中检索数据
$qry_1 = array();
$checkbox1 = $_POST['name'];
$chk = "";
foreach($checkbox1 as $chk1)
{
$chk .= $chk1.",";
}
$sql_1 = "SELECT p.id,p.outlet_id,p.offer_title,p.original_price,p.discount,p.discount_price,p.offer_image,p.offer_details,o.outlet_id,o.outlet_title,o.outlet_locality,o.segment_type FROM products as p,outlets as o WHERE p.outlet_id=o.outlet_id AND o.outlet_locality='$chk'";
$qry_1 = sel_qry($sql_1);
foreach($qry_1 as $v)
{
$filterloc[] = array('title'=>$v['outlet_title'],'cat_id'=>$v['outlet_id']);
}
echo json_encode($filterloc);
i am getting null value do guide me 我得到零价值指导我
Try moving this 尝试移动这个
$.post("filter.php", { name: locality[i] }, function (data) {
alert(data);
});
to outside of the each. 到每个之外。 ie:
即:
$('input#locality').change(function () {
var locality = [];
$(':checkbox:checked').each(function (i) {
locality.push($(this).val());
alert(locality[i])
});
$.post("filter.php", { name: locality }, function (data) {
alert(data);
});
});
(Assuming your backend expects an array, of course) (假设你的后端需要一个数组,当然)
Try this code. 试试这个代码。
HTML HTML
<li class="checkbox">
<label>
<input type="checkbox" class="i-check" id="locality" name="locality[]" value="<?php echo $v2['outlet_locality'] ?>"><?php echo $v2['outlet_locality'] ?>
<small class="location"><?php echo '('.$v2['outletCount'].')' ?></small>
</label>
</li>
JS JS
$('input.i-check').change(function () {
var locality = [];
$(':checkbox:checked').each(function (i) {
locality.push($(this).val());
});
$.post("jquery1.php", {name: locality}, function(data){
});
});
Instead of id locality
, used class i-check
使用类
i-check
代替id locality
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.