Try
update = () ->
ids = $('input[type="checkbox"]:checked')
.map(-> $(this).data("id"))
.get().join(",")
$("#selected_items").val(ids)
$('.coupons input[type="checkbox"]').change(update)
$('.selectall').click(->
$('input[type="checkbox"]').prop('checked', true);
update()
)
$('.unselectall').click(->
$('input[type="checkbox"]').prop('checked', false);
update()
)
Demo: Fiddle - minor markup changes for easy debugging