2010-11-23 4 views
0

함수 A에서 값을 functon B로 바꾸는 방법 또는? 내 코드 Pls는 우리가 선택 해제되어 선택한 항목을 뺀하는 데 도움이한 함수에서 다른 함수로 값을 가져 오는 방법

var $quantities = $('input.PackingCharge'); 
$(".prdItems tr").toggle(function() { 
    var totalQuantity = 0; 
    $(this).attr('clickedItem', '1'); 

    //Calculate the TotalValu 
    $quantities.each(function() { 
     var GAtrr = (this.parentNode.parentNode); 
     if (GAtrr.getAttribute('clickeditem') == '1') { 
      var quantity = parseFloat(this.value); 
      totalQuantity += quantity; 
     } 
    }); 
    // Total Value i hav append to the div and show the Total Value 
    $('#materialsCast').html(parseFloat(totalQuantity).toFixed(2)); 
}, function() { 
    // when i click this function the value not showing 
    console.log(totalQuantity.toFixed(2) + 'After'); 
    // Wht are the item cliked that i clike again the value need to subtration 
    $quantities.each(function() { 
     var GAtrr = (this.parentNode.parentNode); 
     if (GAtrr.getAttribute('clickeditem') == '1') { 
      var quantity = parseFloat(this.value); 
      totalQuantity -= quantity; 
     } 
    }); 
}); 

같다.

+0

이가 그것을 얻을 가능성이있을 것입니다 더 나은 포맷 된 경우 응답 – NimChimpsky

답변

1

그냥 같이, 때마다 클릭 한 사람의 전체를 얻어서 전체를 단순화 할 수 대신 사용자 정의 속성

$(".prdItems tr").click(function(){ 
    $(this).toggleClass('clicked'); 

    var totalQuantity = 0;      
    $('.prdItems tr.clicked input.PackingCharge').each(function() { 
     totalQuantity += parseFloat(this.value); 
    }); 
    $('#materialsCast').html(parseFloat(totalQuantity).toFixed(2));  
}); 

을, 우리가 추가 .toggleClass()를 사용하고/A clicked 클래스를 제거 합계를 계산할 때 각 클릭에 대해 동일한 클래스를 사용하여 '사용'행을 선택하십시오.

.clicked { background-color: green; } 
+0

HI 닉 감사 : 여기에 보너스는 지금과 같이 무료로 어떤 스타일을 추가 할 함께 갈 수있는 CSS 클래스를 정의 할 수 있습니다 주어진 답을 위해, 그러나 당신이 같은 행을 체크하지 않았을 때, totalQuantity에서 값을 빼기 (빼기) 할 필요가 있습니다. 이것을 어떻게하면됩니까? – VijayKR

+0

@VijayKR - 나는 따르고 있지 않습니다 ...이 접근 방식을 사용하면 '0'에서 시작하여 체크 된 행을 합산합니다. 아무 것도 필요가 없습니다. 체크되지 않은 경우 총계의 일부가되지 않습니다. 너는 총보다 * 다른 *을 쫓고 있니? –

관련 문제