테스트 사이트 - 개발 중인 베타 버전입니다

onkeyup,onkeydown 질문입니다. 채택완료

mmkk2 6년 전 조회 3,483

rate 텍스트란에  할인율을 넣어서, 자동적으로

price란에 계산되게 하려고합니다. 

예를들어 rate에 50 이라고 입력하면

자동적으로 price란에 25000 이라고 나오게 하고싶은데,

12500 이라고 나옵니다, onkeyup이 두번먹어서 그런거같은데,

요거를 해결할 방법이있을까요..?

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

onkeyup은 키를 한번만 눌러도 작동하기 때문에

5에서 한번 0에서 한번, 총 두 번이 적용됩니다.

 

submit 버튼이나 focusout 등을 이용하시면 좋을 것 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

jun31019
6년 전

 

볼피드님 방법이랑 같은 개념이며, 

FullstackCreative님이 말씀하신 focusout을 이용한 방법입니다.

 

</p>

<p>    $("#rate").on("focusout", function() {    

        var price = $("#price").val();

        var calc = price * (1-$(this).val()/100);

        $("#price").val(calc);

    });</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

https://codepen.io/anon/pen/vPYrWb?editors=1111  

keyup은 입력할때마다 동작하므로 onchange 처럼 포커스가 아웃되었을때 또는 엔터같이 입력완료 버튼을 눌렀을때의 이벤트를 사용하셔야 합니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인