实际上我正在使用分页进行过滤选项。我使用复选框和价格滑块来执行过滤器。
我为复选框选项编写了代码,因为当点击分页链接时,必须选中已点击的复选框..
编码在这里,
<?php
if(isset($_REQUEST['key'])){
$key_val = $_REQUEST['key'];
if(in_array($amn->ht_amenity_id, $key_val)){
?>
<label>
<input class="i-check iCheck-helper" name="{{$keys[$i]}}" type="checkbox" value="{{$amn->ht_amenity_id}}" checked="checked" />{{$amn->ht_amenity_name}}
<?php
echo "<br/><br/>";
}
else{
?>
<label>
<input class="i-check iCheck-helper" name="{{$keys[$i]}}" type="checkbox" value="{{$amn->ht_amenity_id}}" />{{$amn->ht_amenity_name}}
<?php
echo "<br/><br/>";
}}
?>
对我有用..
以下是我的价格滑块代码,
<li>
<h5 class="booking-filters-title">Price</h5>
<?php
if(isset($_REQUEST['from']) && isset($_REQUEST['to'])){
$from = $_REQUEST['from'];
$to = $_REQUEST['to'];
echo $from;exit;
?>
<input type="text" id="price-slider" value="$from;$to">
<?php
}
else{
?>
<input type="text" id="price-slider">
<?php
}
?>
</li>
我试过这样的方式..但它对我不起作用..
当我的分页链接被点击时,它会通过URL传递所有值。而且结果也是根据我的过滤器给出的。
但点击我的分页链接后价格滑块不会改变..
这是我的控制器代码,
$query = "SELECT `h`.*,".$countquery.",".$minquery." FROM `abserve_hotels` as `h`";
$query1 = DB::select($query.$sqlCond);
// $perPage = 2;
$currentPage = Input::get('page', 1) - 1;
$pagedData = array_slice($query1, $currentPage * $perPage, $perPage);
$query1 = new Paginator($pagedData, count($query1), $perPage);
$query1->setPath('hotelresults');
在我看来,我使用这样的echo $query1->appends($_REQUEST)->render();
来调用分页
有人帮我.. 感谢
答案 0 :(得分:0)
复选框代码与它相同。我的价格滑块代码在这里,
<强>的JavaScript的Ajax 强>
$(document).ready(function()
{
var from_num = <?php echo json_encode($from)?>;
var to_num = <?php echo json_encode($to)?>;
var from_default = <?php echo json_encode($from_default)?>;
var to_default = <?php echo json_encode($to_default)?>;
var sel = "";
var nme = "";
function somethingChanged(from_num,to_num,sel,nme) {
// alert(from_num);
var sel = $('.i-check:checked').map(function(_, el) {
return $(el).val();
}).get();
var nme = $('.i-check:checked').map(function() {
return $(this).attr("name");
}).get();
$.ajax({
// alert();
url: 'hotelresults',
type: 'POST',
data: {
from: from_num,
to: to_num,
key: sel,
name: nme,
page:page
},
success: function(data) {
$('.hotel_list').html(data);
}
});
}
$("#price-slider").ionRangeSlider({
from:from_num,
to:to_num,
min: from_default,
max: to_default,
type: 'double',
prefix: "$",
onChange : function (data) {
var from_num = data.fromNumber;
var to_num =data.toNumber;
somethingChanged(from_num,to_num,sel,nme);
}
});
$( ".iCheck-helper" ).on( "click", function(){
var price=$("#price-slider").val();
var myarr = price.split(";");
var from_num = myarr[0];
var to_num = myarr[1];
somethingChanged(from_num,to_num,sel,nme);
});
});
在这里,我使用查询从数据库中使用from_default
和to_default
,我将其传递给此处以设置min
和max
选项。
在使用此代码之前,结果按照帖子操作显示。
即,如果点击的分页链接,我的页面中也会更改min
和max
值,方法是将已发布的min
和max
值设置为默认价格滑块最小值和最大值..
因此,我只使用from_default
&amp; to_default
作为价格滑块的最小值和最大值。
当我更改滑块选项时,它会传递后期操作中的值,但min
和max
值将被指定为默认值。因此它不会更改。
只有from
&amp; to
值根据我的帖子操作进行了更改。
谢谢,