You should use same name in label-for
as the checkbox
name
your code is
$('#contactList').append('<li>\
<input type="checkbox" name="'+contactId+'" id="'+contactId+'" class="custom" />\
<label for="checkbox-5a">\
<span class="span2 contact-name">\
'+contactName+'\
</span>\
<span class="contact-image">\
<img src="'+contactImage+'"/>\
</span>\
</label>\
</li>')
But you should write this
$('#contactList').append('<li>\
<input type="checkbox" name="'+contactId+'" id="'+contactId+'" class="custom" />\
<label for="'+contactId+'">\
<span class="span2 contact-name">\
'+contactName+'\
</span>\
<span class="contact-image">\
<img src="'+contactImage+'"/>\
</span>\
</label>\
</li>')