2026, 새로운 도약을 시작합니다.

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개

채택된 답변
+20 포인트

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

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

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

아래코드 남겨드립니다.

확인 부탁드립니다.

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

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

Copy






setInterval("chk_test()",100);

function chk_test()

{

    if( $("input[name='cost']:checked").val() )

    {

        $("#chk_state").html('체크');

    }

    else

    {

        $("#chk_state").html('체크안함');

    }

}



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

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

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

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

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

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

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

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

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

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

여러 방법이있습니다

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

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

onchange 도 있습니당

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

답변에 대한 댓글 1개

onchange는 해당 radio버튼을 직접 작동하지 않아도 외부 변수로 선택한게 변해도 작동하나요?

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

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

로그인
🐛 버그신고