diff --git a/misc/states.js b/misc/states.js index b01bc2b..0b2616b 100644 --- a/misc/states.js +++ b/misc/states.js @@ -63,6 +63,13 @@ states.Dependent.comparisons = { 'Function': function (reference, value) { // The "reference" variable is a comparison function. return reference(value); + }, + 'Number': function (reference, value) { + // If "reference" is a number and "value" is a string, then cast reference + // as a string before applying the strict comparison in compare(). Otherwise + // numeric keys in the form's #states array fail to match string values + // returned from jQuery's val(). + return (value.constructor.name === 'String') ? compare(String(reference), value) : compare(reference, value); } };