2015-12-16 66 views
0

我目前价格滑块http://www.showstyle.lu/homme/比较上http://theme-lookz-responsive.webshopapp.com/en/designer/,正如你可以在过滤器中看到,如果你拖我们的网页上(展示样式)最小&最大的数字值过滤不动态更新,即你必须猜测滑块的放开位置,并希望它落在一个价格上。动态更新价格滑块

在示例网站上:如果您拖动价格过滤器,则最大值最小值会动态更新,以便更容易地查看您的设置。

我试着比较两个过滤器的价格框的代码,看到他们实现了这个额外的脚本,但无法弄清楚,如果这是什么原因导致它,我认为这只是任何想法如何重新制定到我的模板?两者都使用相同的CMS,因此使用此代码是允许的,这只是一个舒适性更新。我设法调整了代码,但不明白我是否应该用price-filter-range或min/max语法替换“ui”语法。

原创剧本

<script type="text/javascript"> 
$(function(){ 
    $('#filter_form input, #filter_form select').change(function(){ 
    $(this).closest('form').submit(); 
    }); 

    $("#collection-filter-price").slider({ 
    range: true, 
    min: 0, 
    max: 20, 
    values: [0, 20], 
    step: 1, 
    slide: function(event, ui){ 
     $('.sidebar-filter-range .min span').html(ui.values[0]); 
     $('.sidebar-filter-range .max span').html(ui.values[1]); 

     $('#filter_form_min').val(ui.values[0]); 
     $('#filter_form_max').val(ui.values[1]); 
    }, 
    stop: function(event, ui){ 
     $('#filter_form').submit(); 
    } 
    }); 
}); 

的0/20值取决于你的页面上,所以我想这还需要基于对当前价格最高的项目是动态目录页

任何帮助非常感谢,非常感谢!

回答

0

试试这个:

$("#collection-filter-price").slider({ 
    range: true, 
    min: 0, 
    max: 750, 
    values: [$('#filter_form_min').val(), $('#filter_form_max').val()], 
    step: 1, 
    slide: function(event, ui){ 
    $('.price-filter-range .min span').text(ui.values[0]); 
    $('.price-filter-range .max span').text(ui.values[1]); 
    }, 
    stop: function(event, ui){ 
    $('#filter_form_min').val(ui.values[0]); 
    $('#filter_form_max').val(ui.values[1]); 
    $('#filter_form').submit(); 
    } 
}); 

请注意,这个代码(在我的答案)从原来的被更新由于误解。我也重新编辑它以修复因包含此代码而被破坏的功能。

编辑:我只注意到你的网站已经包括JS代码

$(function(){ 
    $('#filter_form input, #filter_form select').change(function(){ 
     $(this).closest('form').submit(); 
    }); 

    $("#collection-filter-price").slider({ 
     range: true, 
     min: 0, 
     max: 750, 
     values: [0, 520], 
     step: 1, 
     slide: function(event, ui){ 
    $('.sidebar-filter-range .min span').html(ui.values[0]); 
    $('.sidebar-filter-range .max span').html(ui.values[1]); 

    $('#filter_form_min').val(ui.values[0]); 
    $('#filter_form_max').val(ui.values[1]); 
    }, 
    stop: function(event, ui){ 
    $('#filter_form').submit(); 
    } 
    }); 
    }); 

但是这个代码正在由服务器动态生成的(注意如何520嵌入脚本)...唯一的原因,它不起作用是因为它期望类名是0​​而不是price-filter-range。如果你可以做出正确的修改,以便它指向正确的元素,那么它应该工作。

+0

目前看不到任何结果 - 因为该网站是基于SEOshop CMS,我应该在我们的自定义“索引”(所有页面上存在)(如我的一般js脚本的其余部分)或直接在您可以在其中找到滑块的页面。如果是后者,那么在价格过滤器(普通问题)之前或之后 - 是否重要? – Counterfire

+0

@Counterfire这将直接在你会找到滑块的页面上。它应该追随它影响的元素。为了安全起见,请在''标签末尾(在''内)放置。如果你现在想试试看,只需取代码,复制它,打开网页,然后打开JS控制台(大多数PC浏览器上的CTRL + SHIFT + J)并粘贴,然后按Enter键, 。它应该运行脚本并且滑块应该工作。如果您想进行进一步测试,您需要在页面刷新时重新输入代码。 –

+0

当我在Chrome浏览器java控制台中测试它时,它可以正常工作,但是当你滑动页面时 - >页面重新加载并且代码不起作用时,我会尝试将代码放置在页脚底部附近的核心文件中或在滑块的页面上,看看它是否可以工作 – Counterfire