명

해제 가능한 라디오 버튼 unchecked radiobutton

· 2019-12-16 (월) 23:39:28 · 8019 · 7

그룹에서 값을 1개만 선택해야 하는 경우에 type=radio 를 많이 씁니다.

그런데 checkbox와 다르게 radio 타입은 해제가 되지 않습니다.

선택안함이라는 체크박스를 하나 더 넣어도 되지만, 이게  직관적이 않습니다.

"선택안함을 선택함" <-- 좀 이상하죠.

 

그래서 해제가 가능한 radio를 만들어봤습니다. 유용하게 쓰실곳이 있을겁니다.

[code]

<ul>
    <li><input type='radio' name='radioBtn'>체크1</li>
    <li><input type='radio' name='radioBtn'>체크2</li>
    <li><input type='radio' name='radioBtn'>체크3</li>
</ul>

 

<script>

$(document).on("click", "input[name='radioBtn']", function(){
    thisRadio = $(this);
    if (thisRadio.hasClass("imChecked")) {
        thisRadio.removeClass("imChecked");
        thisRadio.prop('checked', false);
    } else { 
        thisRadio.prop('checked', true);
        thisRadio.addClass("imChecked");
    };
})

</script>

[/code]

jsfiddle 은 이쪽 링크

https://jsfiddle.net/6vn5uo0t/1/

 

 

|

댓글 7개

유용하게 사용하겠습니다. 고맙습니다.
2019-12-19 (목) 02:08:36
감사합니다. 그런데,,버튼 바꿀때 이게 자리바꿈인지 해제인지 구분을 못하니 두번씩 눌러야 하는군요,,ㅋ
팁 감사합니다!
스크립트 부분을 약간 수정해봤습니다

$(document).on("click", "input[name='radioBtn']", function(){
thisRadio = $(this);
if (thisRadio.hasClass("imChecked")) {
thisRadio.prop('checked', false).removeClass("imChecked");
} else {
thisRadio.prop('checked', true);
thisRadio.parent().siblings().find("input[name='radioBtn']").prop('checked', false);
thisRadio.addClass("imChecked").parent().siblings().find("input[name='radioBtn']").removeClass("imChecked");
};
})
2019-12-19 (목) 17:02:41
와..감사합니다.
감사합니다~
2020-05-12 (화) 23:22:13
wonderful~♥
2022-07-07 (목) 11:33:44
감사합니다~~~~
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
20-01-01 조회 7,541
19-12-24 조회 6,454
19-12-22 조회 7,297
19-12-20 조회 5,194
19-12-20 조회 8,599
19-12-16 조회 8,020
19-12-16 조회 1.4만
19-12-16 조회 7,262
19-12-16 조회 6,289
19-12-14 조회 6,915
19-12-12 조회 6,813
19-12-10 조회 5,604
19-12-09 조회 5,822
19-12-08 조회 7,368
19-12-07 조회 7,494
19-12-06 조회 9,528
19-12-05 조회 6,630
19-12-04 조회 8,992
19-12-03 조회 6,620
19-11-28 조회 1.4만
19-11-28 조회 6,900
19-11-28 조회 6,572
19-11-28 조회 7,215
19-11-26 조회 6,089
19-11-26 조회 5,804
19-11-26 조회 9,842
19-11-24 조회 4,998
19-11-20 조회 9,115
19-11-19 조회 1.4만
19-11-19 조회 7,861