Обновлен код mydoghasworm со следующими изменениями, чтобы исправить проблему «не удается снять галочку», с которой он столкнулся в следующих двух фрагментах кода.
if ( m ) {
var name = m.name,
value = m.value,
convert = m.convert;
if (ev.target.attributes['type'].nodeValue === "checkbox") {
value = ev.target.checked;
}
if ( convert ) {
value = convert( value, ev.target, target );
}
if ( value !== undefined ) {
$.setField( target, name, value );
}
Также
} else if ($(target).is(':checkbox')) {
//value is whether or not checkbox is clicked
if (value)
$(target).attr('checked', true);
else
$(target).removeAttr('checked');