35 lines
1.4 KiB
JavaScript
35 lines
1.4 KiB
JavaScript
$(function()
|
|
{
|
|
$('.check-all input[type=checkbox]').change(function()
|
|
{
|
|
var checked = $(this).prop('checked');
|
|
$(this).parents('tr').find('input[type=checkbox]').prop('checked', checked);
|
|
});
|
|
|
|
$('.table-members table tr').selectable(
|
|
{
|
|
selector: 'input',
|
|
listenClick: false,
|
|
select: function(e)
|
|
{
|
|
$('[data-id=' + e.id + ']').prop('checked', true);
|
|
|
|
var checked = true;
|
|
var memberNum = $('[data-id=' + e.id + ']').closest('td').find('input').length;
|
|
var checkedMemberNum = $('[data-id=' + e.id + ']').closest('td').find('input:checked').length;
|
|
if(memberNum > checkedMemberNum) checked = false;
|
|
$('[data-id=' + e.id + ']').closest('tr').find('.check-all input').prop('checked', checked);
|
|
},
|
|
unselect: function(e)
|
|
{
|
|
$('[data-id=' + e.id + ']').prop('checked', false);
|
|
|
|
var checked = true;
|
|
var memberNum = $('[data-id=' + e.id + ']').closest('td').find('input').length;
|
|
var checkedMemberNum = $('[data-id=' + e.id + ']').closest('td').find('input:checked').length;
|
|
if(memberNum > checkedMemberNum) checked = false;
|
|
$('[data-id=' + e.id + ']').closest('tr').find('.check-all input').prop('checked', checked);
|
|
}
|
|
});
|
|
});
|