체크박스... td를 선택해도 채택완료
재아
9년 전
조회 4,064
위는 list.skin.php 에서 일부인데요~..
체크박스에 체크를 하는 옵션 부분입니다.
여기서
체크박스가 아닌 해당
label로 td를 감싸보기도 하고 id값을 넣어보기도 했는데. 잘 안되네요~
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
9년 전
</p><p>$(function() {
$(".td_chk").on("click", function() {
$(this).children("input").attr("checked", true);
});
});</p><p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
�
재아
9년 전
�
왕계란
9년 전
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only" style="width:100%;"><?php echo $list[$i]['subject'] ?>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</label>
단순히 체크, 체크 해제가 목적이라면 위처럼 label로 감싸서 위처럼 width를 100%로 주는 게 낫지 않나요?
[code]
$(function() {
$(".td_chk").on("click", function() {
var is_chk = $(this).children("input").is(":checked") == true ? false : true;
$(this).children("input").prop("checked", is_chk);
});
});
[/code]
위 스크립트가 작동 안 할 경우 prop를 attr로 바꾸셔야 할 겁니다. 버전 때문에...
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</label>
단순히 체크, 체크 해제가 목적이라면 위처럼 label로 감싸서 위처럼 width를 100%로 주는 게 낫지 않나요?
[code]
$(function() {
$(".td_chk").on("click", function() {
var is_chk = $(this).children("input").is(":checked") == true ? false : true;
$(this).children("input").prop("checked", is_chk);
});
});
[/code]
위 스크립트가 작동 안 할 경우 prop를 attr로 바꾸셔야 할 겁니다. 버전 때문에...
�
재아
9년 전
라벨로 감싸니 class="sound_only" 의 영향을 받아서 체크박스가 안보이게 됩니다.
알려주신 소스 부분으로 학인 해보니 잘 되네요~
근데 prop 와 attr 의 차이점이 뭔가요?
알려주신 소스 부분으로 학인 해보니 잘 되네요~
근데 prop 와 attr 의 차이점이 뭔가요?
�
왕계란
9년 전
애초엔 attr() 메소드 하나로 사용했는데 이걸로 사용하다 보니 버그가 많아지고 그래서 1.6에서 분리를 했다고 합니다.
attr(), prop()
메소드 이름에서부터 나오듯이 전자는 html 속성(attribute), 후자는 js 속성(property)과 관련된 메소드들입니다.
평소엔 굳이 나눠서 쓰실 필요는 없구요, prop를 써야 하는 경우는 checkbox랑 radio 이 두 가지라 보시면 됩니다.
다른 데에선 어지간하면 attr() 하나로 다 커버가 되니까요.
attr(), prop()
메소드 이름에서부터 나오듯이 전자는 html 속성(attribute), 후자는 js 속성(property)과 관련된 메소드들입니다.
평소엔 굳이 나눠서 쓰실 필요는 없구요, prop를 써야 하는 경우는 checkbox랑 radio 이 두 가지라 보시면 됩니다.
다른 데에선 어지간하면 attr() 하나로 다 커버가 되니까요.
�
재아
9년 전
답변 감사합니다. 설명이 좋습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$(".td_chk").on("click", function() {
$(this).children("input").attr("checked", true);
} else {
$(this).children("input").attr("checked", false);
}
);
클릭세 체크는 잘되는데 다시 클릭하면 해제가 되어야 하는데.. 어떤 부분이 잘못되었을까요..