천발무금
996
2018-06-20 11:30:02
3
1219

javascript로 라디오버튼 change 조작 문의


안녕하세요. 초보개발자입니다.


다름아니라, 소스에 아래와 같이 radio_yn으로 name이 설정된 항목의 라디오버튼이 change되었을 경우 동작하는 함수가 있습니다.


$(document).ready(function(){

    $("input[name=radio_yn]").change(function() {

        ~함수내용~

    });

});


이 경우 웹 화면에서 마우스로 라디오버튼을 왔다갔다 하면 함수가 잘 동작합니다.


그런데, 아래와 같이 javascript로 라디오버튼 check를 조정하는 코드를 넣었을 때, change 함수가 동작되지 않는 것으로 보입니다.


$(document).ready(function(){

    $("input[name=radio_yn]").change(function() {

        ~함수내용~

    });

$('#radio_y').prop("checked", true);

});




(document).ready의 경우 브라우저가 html 읽을 때 바로 실행 되는 것으로 알고있고, 

라디오버튼 change 함수가 먼저 선언된 후 $('#radio_y').prop("checked", true); 

이렇게 라디오버튼 값이 change 되는데, 왜 함수가 동작하지 않는지 궁금해서 질문올립니다.

0
  • 답변 3

  • 20170923
    2k
    2018-06-20 11:46:57 작성 2018-06-20 11:47:40 수정됨

    prop로 변경된 값은, 값이 변경된게 아니라 설정된 것으로 인식해서 그런 것 같네요. .trigger("click");이나 .click()로 클릭한 것과 같은 효과를 주면 이벤트가 작동합니다

  • 프궁
    178
    2018-06-20 11:48:49 작성 2018-06-20 11:50:23 수정됨

    윗분 말씀대로 porp로 설정값을 변경해준거지..

    실제 라디오 버튼을 클릭해서 해당 엘리먼트 값이 변경된게 아니라서 동작을 안하는것 같은데요

  • 천발무금
    996
    2018-06-20 12:45:47

    20170923님, 프궁님 답변 감사드립니다.

    말씀주신대로 javascript에서 click하는 것으로 변경했더니 잘 돌아갑니다.

    감사합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.