2014-07-17 2 views
0

name="location[]"와 몇 가지 확인란이 있고 각 확인란의 값이 value="3" 또는 value="5" 등입니다. jquery에서이 상자를 선택하여 location[]이라는 배열에 값을 입력하는 방법이 궁금합니다. ? 나뿐만 지금까지 jQuery를 가지고 무엇을 heresJquery - 확인란의 값 배열을 얻으십시오

<ul id="searchFilter"> 
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="1">Toronto</li> 
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="3">New York</li> 
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="6">London</li> 
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="5">Paris</li> 
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="4">Berlin</li>    
</ul> 

과 :

var $checkboxes = $("input:checkbox"); 
var opts = []; 
$checkboxes.each(function(){ 
    if(this.checked){ 
    opts.push(this.name); 
} 

이 그냥 location[]를 반환하고 나는 다른 항목을 검사 할 때 다른 location[]을 추가 여기 내 HTML입니다.

도와주세요.

나는 또한 가격이 [], sqft [] 인 다른 체크 박스를 가지고있다. 같은 배열에 체크 박스를두기를 기대하고있다.

답변

6

:checked 선택기와 map()을 사용하여 일치하는 요소 집합에서 배열을 만들 수 있습니다. 이 시도 :

var opts = $(":checkbox:checked").map(function() { 
    return $(this).val(); 
}).get(); 

Example fiddle

+0

'this.value'을! – tymeJV

+0

언제나처럼 우아한 솔루션! – StaticVoid

+0

이것은 아주 잘 작동합니다, 마지막 질문, 여러 개의 체크 박스, 위치 [], 가격 [], sqft [] .... 어떻게 분리 된 배열에 보관할 수 있습니까? 하지만 여전히 opts ... 내 대답을 받아 들일 것입니다,하지만 어떻게 할 줄 알아? – user3723240

관련 문제