2016-07-28 2 views
0

다음 jquery 코드를 사용하여 즉시 할인을 계산하려고합니다.Jquery의 값 감소 및 증가

$(document).on("change keyup blur", "#chDiscount", function(){ 
     var amd=$('#cBalance').val(); 
     var disc = $('#chDiscount').val(); 
     if(isNaN(disc)){ 
      disc = 0; 
     } 
     $('#cBalance').val(amd-disc);    

     }); 

숫자가 아닌 키를 탈출 : 나는 chDiscount 입력에 입력하면

var specialKeys = new Array(); 
    specialKeys.push(8,46); //Backspace 
    function IsNumeric(e) { 
    var keyCode = e.which ? e.which : e.keyCode; 
    console.log(keyCode); 
    var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1); 
    return ret; 
    } 

문제는, cBalance의 새로운 값은 잘하지만 난이 chDiscount 값을 지울 때, 나는 더 이상 할 수 cBalance 입력의 이전 (기본값) 값을 가져옵니다. 할인 값을 삭제하면 이전 값을 원합니다. 어떻게해야합니까? 도와주세요. 감사.

답변

0

jquery를 사용하고 있습니까? 나는 jquery에 대한 팬일 뿐이므로 jquery에 대한 제안을 할 것입니다. 이 희망을 가지고 아이디어를 얻을 수 있습니다.

요소 jquery에서 사용하는 초기 값을 먼저 저장하는 것은 그 예가됩니다.

$('#cBalance').data({origValue: 999}); 

잔액에 대한 입력으로 10을 이용하여 간단한 바이올린을 https://jsfiddle.net/jeorlie/b71epf02/

시도 시도 3 (3 가정하면 총 할인이었다)로 차감. 당신은 균형에서 7을 얻을 것입니다. 할인을 취소하면 (0으로 설정) 원래 값을 갖게됩니다.

바이올린의 코드는 버그가 있지만 아이디어를 얻을 수는 있지만 분석 만하면됩니다. 그건 그렇고. Balance의 원래 값을 전역 적으로 액세스 할 수있는 변수에 저장할 수 있습니다. 희망을 가지고 아이디어를 얻길 바랍니다.

+0

정말 도움이됩니다. –