// choice field object Zymonic.Field.MultipleValue = function() {}; // do the inheritance Zymonic.Field.MultipleValue.prototype = new Zymonic.Field.Field(); Zymonic.Field.MultipleValue.prototype.constructor = this; // override to get list element, or the radio buttons, or plain input for base class use Zymonic.Field.MultipleValue.prototype.input_elements = function() { return this.container_div().find(":input, :input[type='radio'], :input[type='checkbox']:not(.ZymonicCheckEmpty), select"); }; // Append to form data Zymonic.Field.MultipleValue.prototype.appendToForm = function(form_data, search) { var values = this.getValue(); // if not an array then s if (!Array.isArray(values)) { Zymonic.log_error("MultipleValue Field "+this.ident+" does not have multiple values"); } if (values.length) { for (var i=0; i 0 ) ) { required_ok = true; } if ( required_ok ) { return 'OK'; } else { var errors = new Array(); var Parameters = new Object; Parameters.display_name = display_name; if (! required_ok ) { errors.push(sub_ll(lls[1], Parameters)) } return errors.join(" "); } }; // sets extra form param values on form_data Zymonic.Field.MultipleValue.prototype.setExtraFormParams = function(form_data) { // call super Zymonic.Field.Field.prototype.setExtraFormParams.call(this, form_data); // if value is empty then set a clear all flag if ( this.getValue().length == 0 ) { form_data.append(this.getIdent() + '_clear_all', 'Y'); } };