OpenCart 2.3プロジェクトで問題が発生しました。私はあなたに簡単なことを教えてください。スライダjquery uiとのブートストラップドロップダウンの競合
商品リストページでは、基本的には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をロードしています。そして、私のヘッダ、私の通貨は全て本体にあります。 このコードで何が起こっているのか分かりません。そのため、1回の通貨のドロップダウンが機能しており、もう1回の通貨のドロップダウンは機能していません。
また、私は何かを言いたい、あなたは最後のコメント行を見ることができます。
window.location.href = '<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax;
新しいドキュメントを読み込んでいる場合(基本的には読み込み中)、すべて問題ありません。
しかし、私はページをリロードしたくありません。 皆さん、これで私を助けてくれますか?