2012-02-03 6 views
0

텍스트 상자와 레이블이 2 개 있습니다. 레이블 중 하나는 '가격'이고 다른 하나는 '총 가격'입니다. 이들은 gridview의 열 중 하나에 있습니다.자바 스크립트로 총액을 계산 하시겠습니까?

gridview는 Product라는 데이터베이스 테이블에 바인딩되어 있습니다. 기본적으로 제품 목록이 표시되며 가격 * 수량을 사용하여 총 가격을 계산하려면 자바 스크립트가 필요합니다.

아래 코드를 시도했지만 텍스트 상자에 값을 입력하면 총 가격이 변경되지만 모든 행에 영향을 미칩니다. 어떻게 변경해야합니까? 정확히 말하기 어렵지만, 당신이 말하는 경우가 확인 가격을 변경하지만 너무 많은 행에 영향을 미치는 마크 업을 보지 않고

$("[id*=txtQuantity]").live("change", function() { 
       if (isNaN(parseInt($(this).val()))) { 
        $(this).val('0'); 
       } else { 
        $(this).val(parseInt($(this).val()).toString()); 
       } 
      }).trigger("change"); 

      $("[id*=txtQuantity]").live("keyup", function() { 
       if (!jQuery.trim($(this).val()) == '') { 
        if (!isNaN(parseFloat($(this).val()))) { 
         var row = $(this).closest("table"); 
         $("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 
        } 
       } else { 
        $(this).val(''); 
       } 

      }).trigger("keyup"); 

답변

0

, 난 당신이 여기 주위에 사용하는 선택을 살펴 것 :

이 테이블의 모든 총 비용 필드를 반환하고, 한 번에 모든 설정처럼 보이는,
var row = $(this).closest("table"); 
$("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 

row 변수는 전체 테이블, 당신은 다음 ID가 lblTotalCost을 포함 것을 발견하고있다.

다시 가능성이 조언을 열심히 마크 업을보고 있지만없이 변경 시도 :

$(this).closest("table"); 

에 :

$(this).closest("tr"); 

뒤에 코드의 범위를 제한 할 수 있습니다.

+0

감사합니다.이 링크를 볼 수있게 도와주세요. http://stackoverflow.com/questions/9125460/urgent-help-need-trouble-save-the-image-uploadc 나는 그것을 풀 수 없으며, 긴급합니다. 나를 위해 – actKing

관련 문제