input radio 체크감지 click말고 어떻게 가능할까요?

input radio 체크감지 click말고 어떻게 가능할까요?

QA

input radio 체크감지 click말고 어떻게 가능할까요?

본문

name=cost라는 radio 버튼이 4개가 있습니다.

 

$('input[name=cost]').click(function(){

        total -= n1;

        n1 = $('div>input[name=wr_cost1]').index($(this));

        total += n1;

        $('#wr_content').val(total);

})

 

이런식으로 어떤걸 선택했는지 체크하고 있습니다.

 

그런데 리셋버튼을 적용하면서 radio 체크는 해제되는데 위 함수가 작동을 안해서 total값이 변하지 않습니다.

 

$('.opt1 input').attr('checked',false); 이렇게 체크해제하고 있는데 클릭말고 체크박스 상태변화를 감지하는 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 4

원래는 리셋버튼을 눌러주시면

초기화 로직을 넣어주시는게 맞습니다.

 

그래도 혹시나해서 체크하는거 실시간으로 감지하고 싶다고 하셔서

아래코드 남겨드립니다.

확인 부탁드립니다.

코드는 테스트까지 해봤습니다^^

 

별도의 스레드로 체크를 실시간으로 감지하시면 됩니다.


<div id="chk_state"></div>
<script>
setInterval("chk_test()",100);
function chk_test()
{
    if( $("input[name='cost']:checked").val() )
    {
        $("#chk_state").html('체크');
    }
    else
    {
        $("#chk_state").html('체크안함');
    }
}
</script>

onchange 도 있습니당

DogFoot개발 님 말대로 셋인터벌로 반복해서 호출하시던지

아니면 페이지 로드됐을때 함수하나 넣어두고 함수호출해서 라디오에 체크가되어있는지

여러 방법이있습니다

[ 그런데 리셋버튼을 적용하면서 radio 체크는 해제되는데 위 함수가 작동을 안해서 ]

이 상황이 문제라면 리셋 후에 함수(이벤트) 실행시켜 주면 되죠.

아래 참고해서 trigger() 함수를 사용해보세요.

https://api.jquery.com/trigger/

답변을 작성하시기 전에 로그인 해주세요.
전체 59,285
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT