Cannot set form #default_value when altering Views Exposed Filter forms function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  drupal_set_message($form_id);

  if ($form_id == 'views_exposed_form') {
    $options = array(
      'All' =&gt; t('All'),
      '$' =&gt; '$',
      '€' =&gt; '€',
      'тг' =&gt; 'тг',
    );

    $form['field_price_second']['#type'] = 'select';
    $form['field_price_second']['#options'] = $options;
    $form['field_price_second']['#default_value'] = '$';
    $form['field_price_second']['#size'] = 1;
    $form['field_price_second']['#validated'] = TRUE;

    dpm($form);
  }
}


However, the default value isn't working, i see instead 'All' value as default in my views exposed form's select list. What's wrong?

DPM output:
Try overriding the whole element, like this:

...
if ($form_id == 'views_exposed_form') {
    $options = array(
      'All' =&gt; t('All'),
      '$' =&gt; '$',
      '€' =&gt; '€',
      'тг' =&gt; 'тг',
    );

  $form['field_price_second'] = array(
    '#type' =&gt; 'select',
    '#options' =&gt; $options,
    '#default_value' =&gt; '$',
    '#size' =&gt; 1,
    '#validated' =&gt; TRUE,
  );

    dpm($form);
  }
 ....