그누x쵸딩입니다. 즐거운 한주 되세요~
본문
체크박스 전체선택 해제만 있는데요,,,
제가 식상한거는 안조아해서요,,,ㅋㅋ
체크박스가 아주 많다면
인풋하나 두고 거기에 13쓰고 엔터때리면
위에서부터 체크박스가 13개 선택되는
이런 소스없을까요?
비슷한거 찾았는데
https://jsfiddle.net/3615ze29/2/
요걸 어뜨케 고치면 될까요? ㅎㅎㅎ
답변 2
<input type="text" id="numberInput" />
<script>
$(document).ready(function() {
$("#numberInput").keydown(function(key) {
if (key.keyCode == 13) {
numChks(this.value);
}
});
});
function numChks(value){
var list = $('input[type="checkbox"]');
if(value<=list.length){
for(var i=0;i<=value;i++){
$(list[i]).attr('checked',true);
}
}
}
</script>
input에서 enter키 입력하면 동작할겁니다. 다른 부분들도 응용하시면 될 거 같습니다
!-->select box change 이벤트 걸고 -> 체크박스 each 돌려서
select 값으로 비교하면서 체크하면 될꺼같은데요?
10개 20개 이렇게는 되는데 20개 -> 10개 체크되었을때는 안되니
change 이벤트 발생할때 전부 체크 해제 시킨후 다시 체크하면 될꺼같네요
잠깐 테스트해보니 되기는하네요
<select class="change">
<option value=""></option>
<option value="10">10</option>
<option value="20">20</option>
</select>
<?php for($i=0; $i<=30; $i++){?>
<div>
<input type="checkbox" class="chk" value="<?php echo $i?>" style="border:1px solid red; position:static; height:20px; width:20px">
</div>
<?php } ?>
<script>
$(document).ready(function(){
$(".change").change(function(){
var selVal = $(".change option:selected").val();
$(".chk").each(function(idx,item) {
if(idx < selVal){
$(this).attr("checked",true);
}else{
return false;
}
});
});
});
</script>
답변을 작성하시기 전에 로그인 해주세요.