반복되는 스크립트 관련해서 질문 드립니다 채택완료
하와이안펀치
5년 전
조회 1,987
안녕하세요.
늘 여러 실력자님들의 팁과 답변으로 많은 도움을 받고 있는 php 극한초보 입니다
질문 드리고 싶은 것은
게시판 여분필드를 사용한 라디오 버튼을 무척 많이 써야하는데 (100개 내외)
버튼마다 아래의 스크립트를 적용해야 합니다.
(명랑폐인님이 소스를 주시고 멜븐님이 수정해주셨던
"해제 가능한 라디오버튼" 입니다.)
</p>
<p><script>
$(document).on("click", "input[name='wr_1']", function(){
thisRadio = $(this);
if (thisRadio.hasClass("imChecked")) {
thisRadio.prop('checked', false).removeClass("imChecked");
} else {
thisRadio.prop('checked', true);
thisRadio.parent().siblings().find("input[name='wr_1']").prop('checked', false); thisRadio.addClass("imChecked").parent().siblings().find("input[name='wr_1']").removeClass("imChecked");
};
})
</script></p>
<p>
여분필드를 쓴 라디오버튼이 몇 개 안돼면 그냥 버튼 코드 밑에 붙이겠는데
워낙 많아서요 ... ㅜㅠ
(현재 wr_1 ~ wr_75 까지 쓰고 있고 더 늘어날 수 있으며 wr_abc 와 같은 형식으로도 여분필드가 추가될 수 있는 상황 입니다.)
매번 스크립트를 붙이지 않고 간결하게 할 수 있는 방법에 대해서 알려주시면 감사하겠습니다. ^^*
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
5년 전
https://jsfiddle.net/2vzp54sn/">https://jsfiddle.net/2vzp54sn/
</p>
<p><script></p>
<p>$(":radio[name^='wr_']").on('click', function() {
thisRadio = $(this);
n = $(this).attr('name');
if (thisRadio.hasClass("imChecked")) {
thisRadio.prop('checked', false).removeClass("imChecked");
} else {
thisRadio.prop('checked', true);
thisRadio.parent().siblings().find(":radio[name='"+ n + "']").prop('checked', false);
thisRadio.addClass("imChecked").parent().siblings().find(":radio[name='"+ n + "']").removeClass("imChecked");
}
});
</script></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
하와이안펀치
5년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
한줄기 구원의 빛이 되어주셨네요 ㅠㅠ ^0^/