2013-01-09 1 views
0

배열을 분할하여 하나의 문자열로 게시 할 수 있도록 다중 선택 확인란의 값을 반복하려고합니다. PHP에서는 다음과 같이 말할 수 있습니다.javascript multiselect 양식 요소 반복하기

implode(",", $_POST['usage']) 

쉼표로 구분 된 문자열을 얻으십시오. 어떻게 내가 자바 스크립트에서 동일한 얻을 또는 아래 소스에 대한 jquery를 사용합니다.

<input type="checkbox" name="usage[]" id="usage-ContentManagement" value="Content Management"> 
<input type="checkbox" name="usage[]" id="usage-Personal" value="Personal"> 
<input type="checkbox" name="usage[]" id="usage-Business" value="Business"> 
<input type="checkbox" name="usage[]" id="usage-SmallBusiness" value="Small Business"> 

내가 $('[name="usage[]"]').val()을 시도했지만 항상 체크 박스가 선택되지 않은 경우에도 "콘텐츠 관리"를 제공 할 것입니다.

답변

2

확인란을 반복하고 해당 값을 배열에 저장합니다. 그런 다음이 배열을 "함축합니다".

var arr = []; 
$('[name="usage[]"]:checked').each(function(){ 
    arr.push(this.value); 
}); 
alert(arr.join(',')); 
+0

@RobHruska 헤드 감사합니다. –

+0

고마워요! 완벽한 솔루션 – Du3

2

시도 $.serializeArray().

var values = $('[name="usage[]"]').serializeArray().map(function(kvp) { 
    // kvp has the form {name:..., value:...} 
    return kvp.value; 
}).join(','); 

장점은 당신이 어떤 형태 요소에 이것을 사용할 수 있다는 것입니다 : 상자, 라디오 상자, 선택, 텍스트 입력을 확인 ... $.serializeArray는 적절한 값이 검색되어 있는지 확인합니다.

+0

훌륭한 아이디어는 있지만 필요한 것 이상 – Du3