I am building a form with form API in a custom module. Certain fields should be populated based on the selected value of a dropdown.
User will select the pre-entered profiles, based on which other fields should be populated.
I have used ajax callback on select box, it works fine for the first time. But not working on next time.
function multi_step_user_info_form($form, &$form_state) { $form['user_data_form']['reference_number_ajax'] = array( '#type' => 'select', '#title' => 'Select a Patient',  '#ajax' => array(         'callback' => 'ref_number_dropdown_callback',         'wrapper' => 'ref_number_list',         'event' => 'change',         'method' => 'replace',         'effect' => 'fade',         ),   '#attributes' => array('class'=>array('dynamic-select')), '#default_value' => isset($values['reference_number_ajax']) ? $values['reference_number_ajax'] : NULL,   '#prefix'=>'<div class="col-md-12">',  '#field_suffix'=>'</div>');    $form['user_data_form']['patient_name'] = array('#type' => 'textfield', '#title' => 'Patient Name','#value' => $patient_name, '#default_value' => isset($values['patient_name']) ? $values['patient_name'] : NULL,  '#prefix'=>'<div id="ref_number_list"><div class="col-md-12">', '#field_suffix'=>''   ); return $form; }   function ref_number_dropdown_callback($form, $form_state) {          $query = new EntityFieldQuery();     $query->entityCondition('entity_type', 'node')       ->entityCondition('bundle', 'query')       ->propertyCondition('status', NODE_PUBLISHED)       ->fieldCondition('field_reference_number', 'value', $form_state['values']['reference_number_ajax'], '=')       ->range(0, 1);     $result = $query->execute();     $nid ='';     if (isset($result['node'])) {        $nid = $nid = current($result['node'])->nid;        $node = node_load($nid);     }   //  $form_state['rebuild'] = TRUE;   // THESE TWO VALUES SHOULD BE POPULATED ON AJAX CALLBACK //     $form['user_data_form']['patient_name']['#value'] = $node->field_patientname[$node->language][0]['value'];     $form['user_data_form']['age']['#value']          = $node->field_age[$node->language][0]['value'];     $elements = array($form['user_data_form']['patient_name'],$form['user_data_form']['age']);     return $elements;   } 


