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

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

问题描述:

Actually I'm doing filtering option with pagination.And in that I use checkbox and price slider for performing filters.

I wrote code for the checkbox option as when pagination links were clicked it must checked which checkboxes were clicked..

And coding is here,

<?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/>";
}}
?>

It works for me..

Here is My code for price slider,

<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>

I tried like this way..But it didn't work for me..

When my pagination links were clicks it pass all the values through the URL.And also the results were given as per my filters.

But the price slider does not change after my pagination links were clicked..

And here is my controller code,

$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');

And in My view I use echo $query1->appends($_REQUEST)->render(); like this to call the pagination

Someone help me.. Thanks

Checkbox code is same as it.And my code for price slider is here,

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);

        });
    }); 

Here I use from_default and to_default from database using queries and I pass it here to set the min and max option.

Before I using this code the results were shown as per post action.

i.e.,If pagination links where clicked, the min and max values are also changed in my page by setting the posted min and max value as default price slider minimum and maximum values..

So for this only I use the from_default & to_default as the price slider minimum and maximum values.

When I change the slider option it pass the values in post action, but the min and max values are assign to be default values.So it doesn't change.

Only the from & to values were changed as per my post action.

Thanks,