채택완료

자바스크립트 축약 방법 조언구합니다.

2022-06-18 (토) 15:17:10 2,063
|

답변 2개 / 댓글 4개

채택된 답변
+20 포인트

그누보드에서는 기본적으로 들어가는 jquery를 이용하면 한줄이면 됩니다

 function toggleTextbox(checkbox) {
  $(".smallchk").attr("disabled", checkbox.checked); 
 }

답변에 대한 댓글 3개

네 답변 감사합니다.
하지만 이렇게 하니 거꾸로 작동을 하네요. 메인 체크박스를 체크하면 disabled 되어 있던 체크박스가 해제가 되어야 하는데, 반대가 되네요.

그래서 attr 대신 removeattr 을 사용해보니,,, 해제는 되는데, 다시 disabled가 되지 않네요...
function toggle1(checkbox) {
if($("#t").is(":checked")){
$("#t1").removeAttr("disabled", false);
}else{
$("#t1").attr("disabled", true);
}
}

이렇게 if문을 쓰니 되는데요. 이게 최선일까요??? 더 줄일수 있을까요?
반대가 되도록 하면 됩니다
$(".smallchk").attr("disabled", !checkbox.checked);
2022-06-18 (토) 15:58:14
Copy
<input type="checkbox" id="my" value="경조사">경조사
<input type="checkbox" class="smallchk" id='incheck1' value="경조사비">경조사비
<input type="checkbox" class="smallchk" id='incheck2' value="경조휴가">경조휴가
<input type="checkbox" class="smallchk" id='incheck3' value="경조사비">경조사비
<input type="checkbox" class="smallchk" id='incheck4' value="경조휴가">경조휴가

 
<script>
inputTotal = 4;
my.onclick = function() {
    for (i = 1; i <= inputTotal; i++) window["incheck" + i].disabled = !this.checked;
}
my.onclick();
</script>

여기서 inputTotal 이 4가 아니라 5 또는 100 이 될 경우 그 토탈번호를 추출하는 일반식은...

https://sir.kr/g5_tip/16115

이걸 보고 만들어 보세요.

답변에 대한 댓글 1개

이렇게 for문을 사용할수가 있군요... 답변 감사합니다!

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