2016-10-06 4 views
0

두 개의 체크 박스에 etapes이라는 체크 박스가 있습니다. 나는 모든 체크 etapes의 가치를 얻고 싶습니다 그리고 그것을 단일 문자열에 저장하십시오. jquery를 사용하여 체크 박스 목록의 체크 값을 가져옵니다.

그래서이 시도 :

$('[name="etapes"]:checked').each(function() { 
    indexer = indexer + 1; 
    if (indexer == 1) selectedEtapes = $(this).val(); 
    else selectedEtapes = selectedEtapes + "," + $(this).val(); 
}); 

을했지만 작동하지 않았다. 그래서이 문제를 어떻게 해결할 수 있습니까?

답변

1

쉬운 솔루션은 코드 jQuery.map

var mapped = $('[name="etapes"]:checked').map(function() { 
 
    return this.value; 
 
}).get(); 
 
console.log(mapped.join(','));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<input type="checkbox" name="etapes" value="Ouverte1" checked> 
 
<input type="checkbox" name="etapes" value="Ouverte2"> 
 
<input type="checkbox" name="etapes" value="Ouverte3" checked>

수정을 사용하는 것입니다 당신은 index 인수를 허용하지

,

var selectedEtapes = ''; 
$('[name="etapes"]:checked').each(function(index) { 
    if (!index) selectedEtapes += $(this).val(); 
    else selectedEtapes += "," + $(this).val(); 
}); 
+0

내가 예를 들어이 체크 박스가'<확인 입력 유형 = "체크 박스"이름 = "etapes"값 = "Ouverte"= "확인"> 내가 얻을 솔루션을 시도 할 때' blank –

+0

@LamloumiAfif - 스 니펫으로 업데이트했습니다. – Rayon

1

다음과 같은 방법으로 map()을 사용할 수 있습니다.

var str = $('[name="etapes"]:checked').map(function() { 
 
     return $(this).val(); 
 
    }).get().join(); 
 

 
console.log(str)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" name="etapes" value="Ouverte1" checked="checked"> 
 
<input type="checkbox" name="etapes" value="Ouverte2"> 
 
<input type="checkbox" name="etapes" value="Ouverte3" checked="checked"> 
 
<input type="checkbox" name="etapes" value="Ouverte4" checked="checked">

+0

다음과 같은 체크 박스 목록이 있습니다. . Yout 제안 빈 문자열을 내게 –

+0

그것은 작동합니다. 업데이트 된 코드 스 니펫을 참조하십시오. @ LamloumiAfif – Azim

관련 문제