You were observing the UL and not the inputs:
$('.cartlist').on('click', 'li.hider', function () {...
If you instead observe the inputs, your method works:
$('form').on('click', 'input', function () {
Here is the JSFIDDLE: http://jsfiddle.net/C8nCf/