How can I check if a select field has been used with states?
I haven't tried it but a simple negate on an empty string might work:

'#states' =&gt; array(
  'visible' =&gt; array(
    'select[name="location"]' =&gt; array('!value' =&gt; '')
  )
)