Url wNumb格式化停止noUiSlider价格滑块工作
我的网站上有一个价格滑块,价格范围显示为0.0英镑至5000000.0英镑,尾随零 我已将数字格式代码更改为:Url wNumb格式化停止noUiSlider价格滑块工作,url,search,ascii,nouislider,Url,Search,Ascii,Nouislider,我的网站上有一个价格滑块,价格范围显示为0.0英镑至5000000.0英镑,尾随零 我已将数字格式代码更改为: format: wNumb({ decimals: 1 }) 致: 现在这个价格显示为0-5000000英镑,这正是我想要的 现在的问题是,在执行搜索时,url中的价格显示逗号%2C的ascii编码,而不是过滤搜索结果 adv_filter_price_min=0&adv_filter_price_max=5%2C000
format: wNumb({
decimals: 1
})
致:
现在这个价格显示为0-5000000英镑,这正是我想要的
现在的问题是,在执行搜索时,url中的价格显示逗号%2C的ascii编码,而不是过滤搜索结果
adv_filter_price_min=0&adv_filter_price_max=5%2C000%2C000
我如何才能得到它,使ascii编码不在url中使用?例如:
adv_filter_price_min=0&adv_filter_price_max=5000000
非常感谢
完整代码
var rangeslider = jQuery('.rangeslider');
var rangecontainer = rangeslider.parent('.rangeslidercontainer');
var txtlowprice = rangecontainer.children('.adv_filter_price_min');
var txthiprice = rangecontainer.children('.adv_filter_price_max');
var spnlowprice = rangecontainer.find('.text_price_min');
var spnhiprice = rangecontainer.find('.text_price_max');
var defminprice = Number(interfeis_var.search_minprice);
var defmaxprice = Number(interfeis_var.search_maxprice);
var hdnminprice = txtlowprice;
var hdnmaxprice = txthiprice;
var minprice = Number(hdnminprice.val());
var maxprice = Number(hdnmaxprice.val());
if(rangeslider.length){
rangeslider.noUiSlider({
start: [ minprice, maxprice ],
step: 10000,
range: {
'min': defminprice,
'max': defmaxprice
},
connect: true,
// Set some default formatting options.
// These options will be applied to any Link
// that doesn't overwrite these values.
format: wNumb({
decimals: 0
})
});
rangeslider.Link('lower').to(txtlowprice);
rangeslider.Link('upper').to(txthiprice);
rangeslider.Link('lower').to(spnlowprice, setFormat);
rangeslider.Link('upper').to(spnhiprice, setFormat);
}
您正在使用wNumb格式化传递给slider的输入,因此当您尝试从slider取回数据时,它将返回格式化的输入 在您的例子中,当您使用
000:','
格式化它时,它会生成一个50000到50000的数字(注意逗号)。因此,当您尝试从滑块取回它时,它会返回50000而不是50000
因此,我建议您执行以下操作以取消对数字的格式化
创建wnumb对象以将其传递给滑块
var thousand_format = wNumb({
decimals: 0,
thousand: ','
});
当您使用slider后从slider获取输入时,请使用wnumb的from方法使用千禧格式对象对其进行非格式化
var unformat_input=000_格式。from('50000');//它将返回50000
与您在url中设置的输入相同。wNumb会导致滑块无法正常工作,因为wNumb需要数字(50000),并且在第一次使用后,您必须将字符串(50000)传递给滑块。我希望通过对其进行非格式化,它可以解决此问题
您似乎使用的是几年前的noUiSlider版本。升级为您提供了一些API功能,使此问题更容易解决。如果使用最新版本,解决方案是什么?
var thousand_format = wNumb({
decimals: 0,
thousand: ','
});