2012-07-20 3 views
1

이것은 지난 4 시간 동안 내 마음을 아프게했다, 나는 단지 그것을 작동시킬 수 없다!jQuery - 두 개의 .text를 작동시키는 방법?

'.cd_price'대신 두 가지 기능이 있습니다. B & W를 선택하면 작동하지만 '.cd_quantity'를 변경하면 분명히 바뀝니다.

나는 'newPrice'를 숨겨진 범위에 넣으려고 시도했으나 거기에서 그 정보를 얻으려고했지만 막히지 않고 얻을 수 있습니다.

당신은 http://gilliesaudio.co.uk/store/products.html

에서 예를 찾을 수 있습니다 사전들에 정말 고마워요! 희망을 나는 어떤 정보도 놓치지 않고 있었다.

이 내 HTML입니다 :

<input type="text" value="50" min="50" class="item_Quantity cd_quantity"> 
<span class="item_price cd_price" data-base_price="0.53"></span> 

그리고 이것은 내 jQuery를하다 :

$(".item_print-colour").on("change", function() { 
     var base_price = $(".cd_price").data("base_price"); 
     var addition = (this.value == 'B&W' ? 0.20 : 0); 
     var newPrice = (base_price + addition).toFixed(2); 
     $(".cd_price").text(newPrice); 
    }); 

/* CD START */ 
$(".cd_quantity").on("keyup", function() { 
    var base_price = $(".cd_price").data("base_price"); 
    var discount = 0; 

if (this.value > 99) discount = 0.09; 
    $(".cd_price").text((base_price - discount).toFixed(2)); 

if (this.value > 199) discount = 0.14; 
$(".cd_price").text((base_price - discount).toFixed(2)); 

답변

0

첫째, $('.cd_price') 항상 클래스 .cd_price이 요소의리스트를 돌려줍니다. 따라서 DVD 선택을 변경하면 처음으로 .cd_price을 새로운 가격으로 대체하게됩니다. 데모 페이지에서 DVD 등급이 dvd_price 인 것을 확인했습니다.

+0

각 제품마다 별도의 기능이 있습니다. – user1122925

0

base_price을 keyup 이벤트의 data-base_price 속성으로 설정하고 있습니다. 변수를 현재 값 .cd_price으로 설정해야합니다. 다음과 같은 뭔가 :이 2이며 플로트에 텍스트 값을 분석하기 때문에

var base_price = parseFloat($(".cd_price").eq(0).text()); 

.cd_price의 첫 번째 인스턴스를 잡고.

변수 변경에 대해 생각해보십시오.

다른 주목할만한 문제는 할인을받을 수있을만큼 높은 수량 값을 입력하면 할인이 각 keyup 이벤트에 적용된다는 것입니다. 그냥 내가 그걸 지적 할 것이라고 생각했습니다.

관련 문제