function YOUR_FUNCTION_THAT_DISPLAYS_FORM(&$form, &$form_state) { $query_state=db_select('state', 's'); $query_state->fields('s',array('State_code','State_name')); $query_state->orderBy('State_name','ASC'); $state_results = $query_state->execute(); $options_state = array(); // Using fetchAll() you can iterate through a result set. while ($state_record = $state_results->fetchAll()) { // You want state code as key, not state name as key. $options_state[$state_record->State_code]=t($state_record->State_name); } // State form element. $form['state1']= array( '#type' => 'select', '#title' => t('State'), '#options' =>$options_state, '#required' => TRUE, '#ajax' => array( 'callback' => '_ajaxfunction', 'wrapper' => 'divaroundseconddropdown' 'method' => 'replace', 'effect' => 'fade', ), ); // City wrapper form element. $form['city_element_wrapper'] = array( '#prefix' => '<div id="divaroundseconddropdown">', '#suffix' => '</div>', ); return $form; } // AJAX callback function. function _ajaxfunction(&$form, &$form_state) { $key = !empty($form_state['values']['state1']) ? $form_state['values']['state1'] : 1; $query_city=db_select('city', 'c'); $query_city->fields('c',array('District_Code','District_Name','State_Code')); $query_city->condition('State_Code', $key, '='); $query_city->orderBy('District_Name','ASC'); $city_results = $query_city->execute(); $options_city = array(); while ($city_record = $city_results->fetchAll()) { // This is correct. $options_city[$city_record->District_Code]=t($city_record->District_Name); } // Render city setting. $form['city_element_wrapper']['city']= array( '#type' => 'select', '#title' => t('District'), '#options' => $options_city, '#required' => TRUE, ); return $form['city_element_wrapper']; }
I have tried to get city value like this 'city_element_wrapper' => $form_state['values']['city_element_wrapper']['city']
, but error is coming like
Notice: Undefined index: city_element_wrapper in form_test_custom_form_submit()
How to solve it?
function form_test_custom_form_submit($form, $form_state) { $prog_id =1; db_insert('tot_prog')->fields(array('state1' => $form_state['values']['state1'], 'city_element_wrapper' => $form_state['values']['city_element_wrapper']['city'],) // i have metioned like this, is correct???? but its shows error, how to get the select city value??? ->execute(); drupal_set_message("successfully saved Settings"); }
Sponsored by SupremePR