반복되는 스크립트 관련해서 질문 드립니다

반복되는 스크립트 관련해서 질문 드립니다

QA

반복되는 스크립트 관련해서 질문 드립니다

본문

안녕하세요.

늘 여러 실력자님들의 팁과 답변으로 많은 도움을 받고 있는 php 극한초보 입니다

 

질문 드리고 싶은 것은

게시판 여분필드를 사용한 라디오 버튼을 무척 많이 써야하는데 (100개 내외)

버튼마다 아래의 스크립트를 적용해야 합니다.

 

(명랑폐인님이 소스를 주시고 멜븐님이 수정해주셨던

"해제 가능한 라디오버튼" 입니다.)

 


<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>

 

여분필드를 쓴 라디오버튼이 몇 개 안돼면 그냥 버튼 코드 밑에 붙이겠는데

워낙 많아서요 ... ㅜㅠ

(현재 wr_1 ~ wr_75 까지 쓰고 있고 더 늘어날 수 있으며 wr_abc 와 같은 형식으로도 여분필드가 추가될 수 있는 상황 입니다.)

 

매번 스크립트를 붙이지 않고 간결하게 할 수 있는 방법에 대해서 알려주시면 감사하겠습니다. ^^*

 

 

이 질문에 댓글 쓰기 :

답변 2

https://jsfiddle.net/2vzp54sn/

 


<script>
$(":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>

php 언어를 써서 해당 id 생성되면 자동으로 스크립트 생성되도록 for문을 돌리던지 해서 배열로 id값을 만들어서 그것으로 추가 될수 있도록 처리해주시면 되지 않을까 싶습니다.

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

회원로그인

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