#states does not hide #suffix in a form I am new to Drupal, so please be fair with me :)

I am trying to create a custom form using FAPI. The code is as follows :

$form['format_document'] = array(
  '#type' =&gt; 'radios',
  '#options' =&gt; array(
    'yes' =&gt; t('Yes'),
    'no' =&gt; t('No')
  ),
  '#title' =&gt; t('Should we format your document?:'),
  '#required' =&gt; TRUE,
  '#default_value' =&gt; 'no',

  '#suffix' =&gt; 'markup for the help image',

  '#states' =&gt; array(
    'visible' =&gt; array(
      ':input[name="select_service"]' =&gt; array(
        array('value' =&gt; '1'),
        array('value' =&gt; '2'),
        array('value' =&gt; '3'),
      ),
    ),
  ),
);


The #states work fine on the form element visibility; however the #suffix part is always visible. I can create a new form element with the same #states, but I have to do this on large number of elements. Is there something I am missing in the #states?
You could put your form element with the suffix into a container forms element. The container can also have states:

$form['format_document_container'] = array(
  '#type' =&gt; 'container',
  '#states' =&gt; array(
    'visible' =&gt; array(
      ':input[name="select_service"]' =&gt; array(
        array('value' =&gt; '1'),
        array('value' =&gt; '2'),
        array('value' =&gt; '3'),
      ),
    ),
  ),
);

$form['format_document_container']['format_document'] = array(
  '#type' =&gt; 'radios',
  '#options' =&gt; array(
    'yes' =&gt; t('Yes'),
    'no' =&gt; t('No')
  ),
  '#title' =&gt; t('Should we format your document?:'),
  '#required' =&gt; TRUE,
  '#default_value' =&gt; 'no',

  '#suffix' =&gt; 'markup for the help image',
);