2013-02-24 9 views
0

여기에서 잘못하고있는 것이 확실하지 않지만 업데이트 패널에 사용자 정의 컨트롤이있는 웹 페이지가 있습니다. 이 usercontrol에는 ItemTemplate의 텍스트 상자와 바닥 글 템플릿의 텍스트 상자가있는 gridview가 있습니다. footertemplate의 텍스트 상자는 jquery의 함수에서 계산 된 값을 가져옵니다. 아래는 내 스크립트가 합계를 얻지 만 합계는 계산되지 않습니다. 내가 여기서 뭘 잘못하고 있는지 조언 해주세요. 또한 추가 정보를 제공해야하는지 알려주세요. 이 스크립트는 마스터 페이지에 있습니다. jquery가 작동하는 문서 준비가 끝난 후 경고를 보내서 jquery가 작동하는지 테스트했습니다. 어떤 도움이라도 대단히 감사하겠습니다.jquery를 통해 작동하지 않는 그리드에 합계를 추가하십시오.

<script language="javascript"> 
    var totalQuantity = 0; 
    $(document).ready(function() { 
    //alert('This is test'); 
    $(document).on('blur', 'input[id^="MainContent_MainContent_ucProjectionSet3_upProjections"]', function() { 
      alert('This is test'); 
      totalQuantity = 0; 
      $('input[id^="MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_"]').each(function(index) { 
       doTotalCal($(this).attr("id")); 
      }); 
     }); 
     function doTotalCalc(_id) { 
      var indexVal = _id.Replace("MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_", ""); 
      console.log(indexVal); 
      var strTotalQuantity = $('input[id^="MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_' + indexVal + '"]').val().replace("$", ""); 
      totalQuantity += Number(strTotalQuantity); 
     } 
     $("#MainContent_MainContent_ucProjectionSet3_gvProjections_lblCurrentTimeTotal").html(totalQuantity); 
    }); 
</script> 

답변

0

업데이트 패널을 사용하지 않고도이 작업을 수행 할 수있었습니다. 이 프로젝트를 위해 비동기 포스트 백을 할 필요가 없었으므로 제거하는 것이 jquery를 작동시키는 훌륭한 옵션이었습니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("[id*=gvProjections]input[type=text][id*=txtCurrentTime]").keyup(function(e) { 
      GrossTotal(); 
     }); 
    }); 
    var gross; 
    function GrossTotal() { 
     gross = 0; 
     $("[id*=gvProjections]input[type=text][id*=txtCurrentTime]").each(function(index, item) { 

      gross = gross + Number($(item).val()); 
     }); 

     $("[id*=gvProjections][id*=lblCurrentTimeTotal]").text(gross); 
    } 
    function isNumberDecimalKey(evt) { 
     var charCode = (evt.which) ? evt.which : event.keyCode; 
     if (charCode == 46) //decimal 
      return true 
     else if (charCode > 57 || (charCode > 31 && charCode < 48)) 
      return false; 
     else 
      return true; 
    } 

관련 문제