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);
   }
 };
 
