보통 selectbox를 사용하다 보면 해당 값이 바뀌기 전의 값으로 되돌리는 기능이 필요할 때가 있다.
하지만, 보통 한번 focus를 가진 상태에서 여러번 값을 바꿀수도 있다. $('input').on('focusin', function(){ console.log("Saving value " + $(this).val()); $(this).data('val', $(this).val()); }); $('input').on('change', function(){ var prev = $(this).data('val'); var current = $(this).val(); console.log("Prev value " + prev); console.log("New value " + current); }); 1. change 이벤트
2. bind 를 이용한 이벤트
3. on 을 이용한 이벤트
* change 이벤트시 이전값 가져오기 웹개발/Javascript 2014. 8. 6. 11:33
참고) http://stackoverflow.com/questions/4076770/getting-value-of-select-dropdown-before-change JavaScript - change 이벤트 처리하는 방법자바스크립트의 onchange() 이벤트는 셀렉트 박스의 값이 변경될 때 자주 사용합니다. selectbox의 옵션을 클릭할 때! 즉, 값이 변경될 때 onchange() 이벤트에서 사용자가 지정한 함수를 호출하여 사용할 수 있습니다. 문법 1 우선 HTML 태그에 직접 onchange를 명시하여 호출하는 방법을 알아보도록 하겠습니다. select 태그에 onchage를 아래와 같이 붙이게 되면 option값이 선택될 때 해당 함수 f_changeFunc(this) 가 호출됩니다.
f_changeFunc 함수를 호출할 때 this로 자기자신을 파라미터로 전달하였기 때문에 해당 스크립트 함수에서는 $(변수명).val(); 로 선택된 값을 전달받을 수 있습니다.
문법 2 다음은 HTML에 onchange를 주지 않고 스크립트 단에서 직접 처리하는 방법입니다. 위 문법1과 다르게 아래는 select 태그에 onchange 이벤트를 직접 달아 함수 호출이 아닌 id값을 주어 해당 값이 변경이 감지되면 함수가 자동 실행되는 방식입니다.
아래처럼 코드작성을 하게 되면 group_sel이라는 id를 가진 앨리먼트의 값이 변경이 감지되면 작동되므로 동일한 결과지만 이러한 방식으로도 사용됩니다. |