2013-03-07 2 views
0

세 개의 텍스트 상자가 있습니다. 처음 두 텍스트 상자에서 값을 가져 와서 값을 계산 한 다음 결과를 세 번째 텍스트 상자에 지정하려고합니다. 이를 달성하기 위해 jquery에서 다음과 같은 작업을 수행했습니다.jQuery를 사용하여 결과 값을 세 번째 TextBox에 할당

<script type="text/javascript"> 
    $(document).ready(function myfunction() { 
     $("#TxBx_MarksObtained").change(function() { 
      //var value = $(this).val(); 
      var a = $("#TextBoxTotalMarks").val(); 
      var b = $("#TxBx_MarksObtained").val(); 
      var c = (b * 100/a).toFixed(2); 
      $("#TextBoxMarksInPercent").val(c); 
     }); 
    }); 
</script> 

지금은 TextBoxTotalMarks에 집중하고 값을 입력 할 때, 문제는이다, 너무 TxBx_MarksObtained를 들어, Everythings 잘 작동하고 결과가 TextBoxMarksInPercent에 할당합니다.
그러나 다른 텍스트 상자 (다른 형식의 다른 텍스트 상자)로 포커스를 변경 한 다음 다시 돌아와 TextBoxTotalMarksTxBx_MarksObtained의 값을 변경하십시오. TextBoxMarksInPercent에 변경 사항이 표시되지 않습니다.
무엇이 잘못 되었습니까?
다른 텍스트 상자에서 돌아온 후에 내 값이 업데이트되지 않는 이유는 무엇입니까?

답변

1

당신은 doc ready 처리기에서 오류가() 대신()

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $("#TxBx_MarksObtained, #TextBoxTotalMarks").focusout(function() {//for both text boxes 
      //var value = $(this).val(); 
      var a = $("#TextBoxTotalMarks").val(); 
      var b = $("#TxBx_MarksObtained").val(); 
      var c = (b * 100/a).toFixed(2); 
      $("#TextBoxMarksInPercent").val(c); 
     }); 
    }); 
</script> 
+0

내 작품. 고마워요. –

+0

도움이 된 것을 기쁘게 생각합니다. ':)' – Jai

1

이 시도 :

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#TxBx_MarksObtained, #TxBx_MarksObtained").keyup(function() { 
    // ------------------------------------------^^^^^^--keyup instead of change. 
     var a = $("#TextBoxTotalMarks").val(); 
     var b = $("#TxBx_MarksObtained").val(); 
     var c = (b * 100/a).toFixed(2); 
     $("#TextBoxMarksInPercent").val(c); 
    }); 
    }); 
</script> 
+0

작동하지 않습니다. 라이브는 어떨까요? –

+0

'change' 이벤트 대신'blur'를 시도하십시오. –

0

시도에 대한 focusOut :

<script type="text/javascript"> 
    $(document).ready(function myfunction() { 
    //-------------------------^^^^^^^^^^^-----this should not be here 

난 당신이 .blur() or .focus() or .key()events를 사용하는 제안이 방법을 시도해보십시오

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#TxBx_MarksObtained, #TextBoxTotalMarks").change(function() {//for both text boxes 
      //var value = $(this).val(); 
      var a = $("#TextBoxTotalMarks").val(); 
      var b = $("#TxBx_MarksObtained").val(); 
      var c = (b * 100/a).toFixed(2); 
      $("#TextBoxMarksInPercent").val(c); 
     }); 
    }); 
</script> 
관련 문제