在点击分页链接时,如何仅在价格滑块中完成后期操作后的值和更改值

时间:2016-03-14 07:18:22

标签: php jquery ajax laravel-5 pagination

实际上我正在使用分页进行过滤选项。我使用复选框和价格滑块来执行过滤器。

我为复选框选项编写了代码,因为当点击分页链接时,必须选中已点击的复选框..

编码在这里,

<?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();来调用分页

有人帮我.. 感谢

1 个答案:

答案 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_defaultto_default,我将其传递给此处以设置minmax选项。

在使用此代码之前,结果按照帖子操作显示。

即,如果点击的分页链接,我的页面中也会更改minmax值,方法是将已发布的minmax值设置为默认价格滑块最小值和最大值..

因此,我只使用from_default&amp; to_default作为价格滑块的最小值和最大值。

当我更改滑块选项时,它会传递后期操作中的值,但minmax值将被指定为默认值。因此它不会更改。

只有from&amp; to值根据我的帖子操作进行了更改。

谢谢,