2017-12-14 2 views
0

OpenCart 2.3 프로젝트에서 문제가 발생했습니다. 간단한 설명을 드리겠습니다.슬라이더 jquery ui와 부트 스트랩 드롭 다운 충돌

제품 목록 페이지에서 기본적으로 catalog -> view -> product -> category.tpl으로 통화 모듈과 필터 모듈을 사용하고 있습니다. 내 제품 목록을 필터링 슬라이더를 사용하고 때

는 참조

enter image description here

이미지를 참조하십시오, 그것은 페이지 데이터를 상쾌 (참고 : 여기 페이지를 다시로드되지 않음)하지만, 통화 드롭 다운 작동 안됨.

다시 슬라이더를 사용하면 드롭 다운이 작동합니다.

의미 : 처음으로 페이지를로드 한 후 슬라이더를 사용할 경우, 모든 홀수 차례마다 슬라이더가 작동합니다. 모든 짝수 턴마다 슬라이더가 작동하지 않습니다.

이제는 문제에 대해 약간의 아이디어가 있습니다.

코딩 부분이 있습니다.

나는 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); 

이 행 코드는 기본적으로 내 본문 태그에 새 URL을로드하고 내 머리글, 내 통화가 모두 본문에 있음을 유의하십시오. 이 코드로 어떤 일이 일어나고 있는지 알지 못합니다. 즉, 한 번 통화 드롭 다운이 작동하고 다른 시간이 작동하지 않습니다.

또한 내가 말하고 싶은 것은 마지막으로 주석 처리 된 줄을 볼 수 있습니다.

window.location.href = '<?php echo $action; ?>&filter=' + filter.join(',')+'&amtmin=' + amtmin+'&amtmax='+amtmax; 

새 문서를로드하는 중 (기본적으로 새로 고침) 모든 것이 정상입니다.

하지만 페이지를 새로 고침하고 싶지 않습니다. 여러분이 도와 드릴 수 있습니까?

답변

0

안녕하세요 아래 코드에서

$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

에 다음 줄을 추가 할 필요가
관련 문제