테스트 사이트 - 개발 중인 베타 버전입니다

체크박스 제이쿼리 each 질문.. 채택완료

아기새 7년 전 조회 1,783

<input type="checkbox" name="aa[]" value="1">

<input type="checkbox" name="aa[]" value="2">

 

 

 

체크박스 누를떄 체크드 된것

alert으로 value값을 찍고싶은데요..

 

예를들면 value 1을 누르면 alert 1이 되고

두개 다 누르면 alert(1,2) 

쉼표가 붙게하고싶어요ㅠ

 

 

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

답변 3개

채택된 답변
+20 포인트

약간 늦었네요. 쉼표까지 붙여서 찍으려면 아래처럼..

 

</p>

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

로그인 후 평가할 수 있습니다

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

@whitecatz 님 말씀처럼, map() 을 사용할 수 도 있겠네요.. 풀 소스로 하면..

 

</p>

<p><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) {</p>

<p>                if(ele.checked) return ele.value;</p>

<p>     }).get();

     alert('checked value : ' + checked_values.join(','));

 });

 </script></p>

<p>

 

굳이 더 간단히 표현하자면.. 아래처럼 하실 수 도 있습니다.

</p>

<p><script>

 $('.tchk').click(() => {

     var checked_values = $('.tchk:checked').map((idx, ele) => ele.value).get();

     alert('checked value : ' + checked_values.join(','));

 });

 </script></p>

<p>

로그인 후 평가할 수 있습니다

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

w
7년 전

동하아빠님의 코드를 인용해서.

onclick시 아래와 같이 하시면 좀 더 편합니다.

</p>

<p>var seq = $('.tchk:checked').map(function(){ return $(this).val();}).get().join(",");</p>

<p>   alert('checked values : ' + sql;</p>

<p>

관련의 설명은 제 https://blog.naver.com/blueyoxi/221086775789">블로그 를 보시면 될 듯 합니다.

로그인 후 평가할 수 있습니다

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

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

로그인