Form Options Attributes
Categories
Component ID
Component name
Component type
Maintenance status
Development status
Component security advisory coverage
Downloads
Component created
Component changed
Component body
This module adds the ability to specify attributes for individual options on Drupal Form API elements of the types: select, checkboxes, and radios.
This is an API module, with no user interface. You would only need this module if another module you are using requires it or if you are programming a custom form that needs attributes on select <option> children, individual radio buttons within a radios element, or individual checkbox elements within a checkboxes group element.
Usage
To add attributes to a form element's options, add an #options_attributes key to the form element definition. The #options_attributes value should be an array with keys that match the keys in the #options value array. The values in the #options_attributes array should be formatted like the main #attributes array.
Example:
<?php
$form['states'] = array(
'#type' => 'select',
'#title' => t('States'),
'#options' => array(
'AL' => t('Alabama'),
'AK' => t('Alaska'),
'AZ' => t('Arizona'),
'AR' => t('Arkansas'),
// ..
'WI' => t('Wisconsin'),
'WY' => t('Wyoming'),
),
'#options_attributes' => array(
'AL' => array('class' => array('southeast'), 'data-bbq-meat' => 'pork'),
'AK' => array('class' => array('non-contiguous'), 'data-bbq-meat' => 'salmon'),
'AZ' => array('class' => array('southwest'), 'data-bbq-meat' => 'rattlesnake'),
'AR' => array('class' => array('south'), 'data-bbq-meat' => 'beef'),
// ...
'WI' => array('class' => array('midwest'), 'data-bbq-meat' => 'cheese'),
'WY' => array('class' => array('flyover'), 'data-bbq-meat' => 'bison'),
),
'#attributes' => array('class' => array('states-bbq-selector')),
);
?>