2014-04-28 2 views
0

나는 자바 스크립트가 처음이므로 당신의 도움이 필요합니다. 다음 사용을 위해 요소 ID의 배열을 갖고 싶습니다.동일한 클래스의 요소 ID 배열

예 : 내가 필요한 것은이 같은 배열 ("CheckBox1을, checkbox2, checkbox3, checkbox4은")/숨기기 DIV 경우 보여 다음 JS 기능에 사용하기 위해 VAR로 설정하는 것입니다

<div id="myDiv"> 
    <input type="checkbox" id="checkbox1" class="checkboxes" value="checkbox1_v"> 
    <input type="checkbox" id="checkbox2" class="checkboxes" value="checkbox2_v"> 
    <input type="checkbox" id="checkbox3" class="checkboxes" value="checkbox3_v"> 
    <input type="checkbox" id="checkbox4" class="checkboxes" value="checkbox4_v"> 
</div> 

해당 확인란 (모든 체크 박스를 체크하기 위해 forEach를 사용하고, div로 설정하는 것보다 .show를 선택한다).

표시/숨기기 js 내가 가진 부분과 하나의 특정 확인란에 대한 테스트가 제대로 작동합니다. 하지만 배열을 사용하는 이유는 체크 박스의 수가 동적이며 공통 속성은 외부 div 및 입력 클래스의 경우에만 "myDiv"입니다.

미리 감사드립니다.

답변

4

당신이 클래스 체크 박스 모든 요소의 ID 배열을 생성하고이 경우

var ids = $('#myDiv .checkboxes').map(function(){ 
    return this.id; 
}).get(); 

같은 이러한 배열을 생성하는 .map() 사용할 수

+3

일 - 개인적으로 나는'[] .map.call (document.querySelectorAll (". 체크 박스"), 기능 (c)를 할 거라고 {반환 c.id ;})'어떤 일을하게 되더라도 : p –

+0

어쨌든, 영혼을 분쇄하는'$ (this) '대신'this.id'를 실제로 썼기 때문에 내가 할 수 있다면 +2를 주겠다. attr ("id")'또는 하늘이'$ ("#"+ this.id) .attr ("id")'... –

+0

@Arun 고마워요, 작동합니다 – Shalladan

0

.map() 사용할 수

현재 일치하는 세트의 각 요소를 함수를 통해 전달합니다. ew 반환 값을 포함하는 jQuery 객체.

var idArr = $('#myDiv input[type="checkbox"]').map(function() { 
    return this.id 
}).get(); 

Fiddle Demo

+0

감사합니다 u 대단히 – Shalladan

+0

도움이 되셨 다행 :-) – Felix