2013-10-10 3 views
0

확인란이있는 컨테이너가 있습니다. 컨테이너 외부에있는 모든 체크 박스를 선택했습니다.모두 선택 확인란 - 값 수집

<tr> 
<td width="33%">Category <br> <input type="checkbox" id="all_cat" name="catChkBox" class="ckbox"/> Select All/ Unselect All </td> 
</tr> 
    <tr> 
    <td width="50%" valign="top" id="catTd"> 
             <div class="container" id="categoryContainer"></div> 
            </td> 
    </tr> 

사용 DWR 호출은 내가 체크 박스 값이 컨테이너 내부에 채워 얻을.

... function(data.... // data has got the values to be displayed in container with checkboxes 
for(var i=0; i<data.length; i++) 
{ 
$('#catContainer').append('<input type="checkbox" data-name="' + data[i].id + '" name="catChkBox" class="ckbox" id = "' + data[i].id + '" value="' + data[i].id + '" /> ' + data[i].name + '<br/>'); 
list = data[i].name; 
catSL.push(data[i].id); 
} 
categories = $("input[name=catChkBox]:checked").map(function() { 
return $(this).data('name'); 
}).get(); 
}, errorHandler:function(){ 
},async:false 
}); 

지금 모든 옵션을 선택하고 싶습니다. 컨테이너 외부의 모두 선택 확인란을 클릭하면 컨테이너 안의 확인란을 선택해야합니다. 마찬가지로 모두 선택을 취소하십시오. 나는 아래의 코드를 시도했지만, 그것은 일을 dosent.

$('#all_cat').click(function(){ 
    for(var i=0; i<categoryData.length; i++) //categoryData is the data which i get from dwr call 
    { 
    $(categoryData[i].id).prop('checked', isChecked('all_cat')); 
    } 
    }); 
function isChecked(checkboxId) { 
    var id = '#' + checkboxId; 
    return $(id).is(":checked"); 
} 

아무 도움 ?????

+0

는'$이 (categoryData는 [내가] .ID) .prop ('선택은'의 IsChecked ('all_cat이'))한다''수 $ ('#'+ categoryData [I] .ID) .prop ('checked', isChecked ('all_cat'));'? – MadSkunk

답변

0
당신은 당신의 용기 내부의 모든 체크 박스를 선택하는 것이 적절 jQuery를 선택 사용할 수 있습니다

설정하고 한 번에 checked 특성 :

$('#all_cat').click(function() { 
    $('#catContainer input.ckbox').prop('checked', $(this).is(':checked')); 
}); 
0

이는 #all_cat 같은 선택 상태로 컨테이너 사업부 내부의 모든 체크 박스를 설정합니다 체크 박스 :

$('#all_cat').click(function(){ 
    $('#categoryContainer input:checkbox').prop('checked', $(this).is(':checked')); 
}); 
+0

잘 작동합니다. 문제가 생겼어. $ ("input.ckbox : 체크"). 각 (함수() { \t \t \t \t \t \t selectedValue.push ($ (이) .val()); \t \t \t \t \t \t}); 이것을 위해 내가 selectedValue에 경고하려고했을 때, 1,2에 나타나는 이유를 보여줍니다. 나는 그것을 제거하고 싶다. 어떤 도움? – sahana

+0

'$ ("input.ckbox : checked")'는 페이지에 ckbox 클래스의 체크 박스를 포함합니다. 대신 $ ('categoryContainer input.ckbox : checked')'를 시도하십시오. –