[英]Bootstrap dropdown conflict with slider jquery ui
我在OpenCart 2.3项目中遇到问题。 让我给你简要的。
在产品列表页面中,基本上是catalog -> view -> product -> category.tpl
,我正在使用货币模块和过滤器模块。
参见图片以供参考
当我使用滑块过滤产品列表时,它正在刷新页面数据(注意:此处页面未重新加载),但是货币下拉菜单不起作用。
如果再次使用滑块,则下拉列表有效。
意思是:第一次加载页面后。 如果我使用滑块,则对于每一个奇数转,滑块都在工作,对于每偶数转,滑块均不工作。
现在您对该问题几乎一无所知了。
让我们来看一下编码部分。
我在module -> filter.tpl
文件中。 在这里为滑块写这个jQuery
$("#slider-range").slider({});
在滑块功能中,一个对象正在传递,如下所示:
$("#slider-range").slider({
range: true,
min: <?php echo $min_product_price ; ?>,
max: <?php echo $max_product_price; ?>,
values: [ <?php echo $amount_min; ?>, <?php echo $amount_max; ?> ],
create: function (event, ui) {
$("#amount").val("<?php echo $currency_symbol; ?> " + $("#slider-range" ).slider( "values", 0 ) +" - <?php echo $currency_symbol; ?> " +
$("#slider-range").slider("values", 1 ) );
$('#amtmin').text('<?php echo $currency_symbol; ?> '+$("#slider-range").slider("values")[0]);
$('#amtmax').text('<?php echo $currency_symbol; ?> '+$("#slider-range").slider("values")[1]);
},
slide: function( event, ui ) {
$('#amtmin').text('<?php echo $currency_symbol; ?> '+$("#slider-range").slider("values")[0]);
$('#amtmax').text('<?php echo $currency_symbol; ?> '+$("#slider-range").slider("values")[1]);
$("#slider-range").val( "<?php echo $currency_symbol; ?> " + ui.values[ 0 ] + " - <?php echo $currency_symbol; ?> " + ui.values[ 1 ] );
},
stop: function (event, ui) {
filter = [];
$('input[name^=\'filter\']:checked').each(function(element) {
filter.push(this.value);
});
amount=[];
var amtmin = ui.values[0];
var amtmax = ui.values[1];
amount.push(amtmin,amtmax);
$('#amtmin').text("<?php echo $currency_symbol; ?> "+$("#slider-range").slider("values")[0]);
$('#amtmax').text("<?php echo $currency_symbol; ?> "+$("#slider-range").slider("values")[1]);
window.history.pushState("","",'<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax);
$("body").load('<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax);
// window.location.href = '<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax;
}
});
专注于这一行:
$("body").load('<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax);
这行代码基本上是在我的body标签中加载一个新的url,并请注意,我的标头,我的货币都在正文中。 我不知道这段代码发生了什么。 因此,一次货币下拉菜单有效,而另一次则无效。
我也想说些什么,您可以看到最后一条评论行。
window.location.href = '<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax;
如果我要加载新文档(基本上是重新加载),那么一切都很好。
但我不想重新加载页面。 你们能帮我吗
您好,请在下面的代码中输入您的最低和最高价格
$this->currency->format((float)$min_product_price ? $min_product_price : $min_product_price , $min_product_price)
$this->currency->format((float)$max_product_price ? $max_product_price : $max_product_price , $max_product_price )
注意:您需要将这些行放在controller/product/category.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.