No answers here, just a report on what I'm finding. I have been doing some experimenting, and have found the this:
I would expect just plain
this.value
to give me the value. It does not. If I have a check box that is not generated by mapping an array to a check box, then it does.
$(this).text() gives me the text shown on the screen for the check box I've clicked. So this is unique for each check box. This makes me think $(this)... should work for other methods, but it doesn't, as the following show
$(this).val() gives a blank. (I added JS to run on output mapping, where the function is: function (value,element) { ...} and doing an alert on value does give each unique value as they are mapped, so I know the values exist)
$(this).attr('name') gives me the name 'category' no matter which check box I click. That is the name of the check box component that the array is mapped to.
$(this).prop('checked') gives me undefined.
$(this).attr('checked') gives me undefined.
$(this).prop('id') gives me undefined.
$(this).attr('id') gives me undefined.
$(this).is(':checked') gives me "false" no matter which check box I click, and no matter if it is checked or not.