Ajax not working with existing field in hook_form_alter
for this you can delete this line 

$form['field_event_1_role']['und']['#options'] = array('_none' =&gt; t(' - '));


The problem is most likely because of a requirement for FAPI ajax which is documented, though can be easily missed: 


  Changes to the form must only be made in the form builder function (ajax_example_autocheckboxes() in the example here), or validation will fail. The callback function must not alter the form or any other state.


From AJAX Forms in Drupal 7.

The fact that you're setting the form element [#options] in the ajax callback is definitely a problem. The ajax callback should only return the array or HTML to be printed, not change the form. Only the return line should be in that callback. 

The changes to your form should be made in the form_alter. Also, you should use the form_state array to check whether a value has been selected for your first dropdown. This will be updated during an AJAX request.

I recommend looking at the examples module, as well as these pages for more information on AJAX in FAPI. It can definitely be tricky.


AJAX Forms in Drupal 7
AJAX Framework