체크박스 제이쿼리 each 질문..

체크박스 제이쿼리 each 질문..

QA

체크박스 제이쿼리 each 질문..

답변 3

본문

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

관련의 설명은 제 블로그 를 보시면 될 듯 합니다.

님 말씀처럼, 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>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로