체크박스 제이쿼리 each 질문..
본문
<input type="checkbox" name="aa[]" value="1">
<input type="checkbox" name="aa[]" value="2">
체크박스 누를떄 체크드 된것
alert으로 value값을 찍고싶은데요..
예를들면 value 1을 누르면 alert 1이 되고
두개 다 누르면 alert(1,2)
쉼표가 붙게하고싶어요ㅠ
답변 3
약간 늦었네요. 쉼표까지 붙여서 찍으려면 아래처럼..
<input type="checkbox" name="aa[]" value="1" class="tchk">
<input type="checkbox" name="aa[]" value="2" class="tchk">
<script>
var $chks = $('.tchk');
$chks.click(function() {
var checked_values = [];
$chks.each(function(idx, ele) {
if(ele.checked) {
checked_values.push(ele.value);
}
});
alert('checked values : ' + checked_values.join(','));
});
</script>
동하아빠님의 코드를 인용해서.
onclick시 아래와 같이 하시면 좀 더 편합니다.
var seq = $('.tchk:checked').map(function(){ return $(this).val();}).get().join(",");
alert('checked values : ' + sql;
관련의 설명은 제 블로그 를 보시면 될 듯 합니다.
!-->@whitecatz 님 말씀처럼, map() 을 사용할 수 도 있겠네요.. 풀 소스로 하면..
<input type="checkbox" name="aa[]" value="1" class="tchk">
<input type="checkbox" name="aa[]" value="2" class="tchk">
<script>
var $chks = $('.tchk');
$chks.click(function() {
var checked_values = $chks.map(function(idx, ele) {
if(ele.checked) return ele.value;
}).get();
alert('checked value : ' + checked_values.join(','));
});
</script>
굳이 더 간단히 표현하자면.. 아래처럼 하실 수 도 있습니다.
<script>
$('.tchk').click(() => {
var checked_values = $('.tchk:checked').map((idx, ele) => ele.value).get();
alert('checked value : ' + checked_values.join(','));
});
</script>
답변을 작성하시기 전에 로그인 해주세요.