2017-04-16 4 views
3

다른 제품을 웹 사이트에서 주문하려고하지만 올바르게 할 수 없습니다.제품 별 주문 가격

기본적으로 나는 각자의 가격을 알아 내고 가장 비싼 것에서 가장 낮은 것까지 주문해야합니다.

나는 다음 코드를 시도했지만 모든 것을 사라지고 올바른 방법으로 그들을 주문하지 계속 :이 코드 내가 함께 할 수있다, 그래서 나는 HTML을 수정할 수있는 권한이없는

var divList = $(".block-level.h2"); 
divList.sort(function(a, b){ 
    return $(a).data(".block-level.h2")-$(b).data(".block-level.h2") 
}); 
$(".grid").html(divList); 

이제 jQuery를 통해서만 물건을 추가 할 수있다.

누군가 내게 팁을 주거나 도와 주실 수 있습니까?

감사합니다.

답변

1

제품 그리드 항목을 정렬하기 위해 사용할 수있는 코드는 jQuery입니다.

var values = []; 
$('.block-level.h2').each(function() { 
    var temp = Array(); 
    temp['value'] = parseInt($(this).html().replace('$','')); 
    temp['element'] = $(this).closest('.grid-item'); 
    values.push(temp); 
}); 
values.sort(function(a,b) { return b.value - a.value; }); 
var sortedHtml = ''; 
$.each(values, function(index, obj) { 
    if((index+1)%3==1) { 
     sortedHtml+=('<div class="grid product-cards__row"><div class="grid-item one-third palm-one-whole product-cards__item">'+$(obj.element).html()+'</div>'); 
    } else if((index+1)%3==0) { 
     sortedHtml+=('<div class="grid-item one-third palm-one-whole product-cards__item">'+$(obj.element).html()+'</div></div>'); 
    } else { 
     sortedHtml+=('<div class="grid-item one-third palm-one-whole product-cards__item">'+$(obj.element).html()+'</div>'); 
    } 
}); 
$('.product-cards').html(sortedHtml); 

희망이 있습니다.

+0

와우는 환상적인 방식으로 작동합니다. 너무나 감사합니다. @ Shekhar Chikara, 정말 귀중한 도움에 감사드립니다! – Cloud

+0

@Cloud 도와 드리겠습니다. –

1

당신은 위의 코드에서 다음과 같은 코드 -

var values = Array(); 
$('.block-level.h2').each(function() { 
    values.push(parseInt($(this).html().replace('$',''))); 
}); 
values.sort(function(a, b){return b-a}); 

하여이 작업을 수행 할 수 있습니다 -의 존재하지 않는 요소 a의 이름 data-.block-level.h2와 속성을 찾기 위해 노력하고 있기 때문에 큰 문제가 $(a).data(".block-level.h2") 함께. 그래서 빈 결과가 나온 것입니다.

+0

감사합니다. @Shekhar Chikara, 주문은 이제 괜찮습니다! 질문 하나만 더 보내 주시면 안됩니까? 디자인에서 순서대로 나타나도록 제품을 이동하려고합니다. 어떻게 적용 할 수 있습니까? – Cloud

+0

그래, 페이지에있는 순서를 유지하려면'sort()'함수를 적용하기 전에 단순히'values' 배열을 유지하면됩니다. 원래 시퀀스가 ​​있습니다. –

+0

답장을 보내 주셔서 감사합니다. 죄송합니다. 정확한 설명이 필요하지 않을 수도 있습니다. 모든 것이 최대에서 최소로 주문되면 내부에 들어서고 주문할 때 웹 사이트에 표시되는 실제 패키지를 제거해야합니다. 주문은 다시 표시되지만 새 주문으로 표시됩니다. 지금 코드를 사용하여 콘솔을 통해 순서대로 볼 수 있지만 디자인에서 제품을 옮기기 위해이 코드를 수정하려고하면 그 코드가 제대로 표시되지 않습니다. 모든 것을 다시 한번 감사드립니다! – Cloud