down100009 2016-03-14 07:18
浏览 7
已采纳

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

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

  • 写回答

1条回答 默认 最新

  • dqenv99518 2016-03-19 11:32
    关注

    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,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路