2013-10-10 171 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 
}); 

我想要现在选择所有选项。当我点击容器外的全选复选框时,它应该选中容器内的复选框。同样,取消选择全部。我尝试了下面的代码,但它很有用。

$('#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 [I] .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

这将设置div容器内的所有复选框,以相同的选中状态的#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')'。 –