Ich möchte die Nachricht in der Textarea entsprechend der ausgewählten Option aktualisieren, wissen Sie, wie ich so etwas tun kann?Feld mit Drupal Ajax hinzufügen und Liste auswählen
Select-Liste: field_level_list mit Optionen: Ticket Ebene 1/Ticket Ebene 2/Ticket Level 3
Dies ist der Haken form_alter:
function custom_support_form_support_ticket_node_form_alter(&$form, &$form_state, $form_id)
{
$form['field_level_list']['und']['#ajax'] = [
'event' => 'change',
'callback' => 'custom_support_ticket_ajax_form_callback',
'wrapper' => 'level_message',
'effect' => 'slide'
];
$form['field_level_list']['und']['#weight'] = -2;
$form['field_level_list']['und']['#suffix'] = '<div id="level_message"></div>';
}
Dies ist die Callback-Funktion:
function custom_support_ticket_ajax_form_callback($args)
{
$cas = $args['field_level_list']['und']['#value'];
switch($cas){
case 1:
$message = t('Ticket 1');
break;
case 2:
$message = t('Ticket 2');
break;
case 3:
$message = t('Ticket 3');
break;
default :
$message = 'X';
}
$form['level_message']['level_textarea'] = [
'#type' => 'textarea',
'#title' => 'message',
'#value' => $message,
'#weight' => -9,
];
$form['level_message']['level_submit'] = [
'#type' => 'submit',
'#value' => 'Send',
'#ajax' => [
'event' => 'click',
'callback' => 'custom_support_sendMessage_callback'
],
'#weight' => -8
];
return ajax_command_replace('#level_message', $form['level_message']);}
Das funktioniert, aber ich bekomme immer die gleiche Nachricht ($ Nachricht). Wenn ich zuerst auf 'Ticket Level 1' klicke, bekomme ich 'Ticket 1' im Textfeldfeld, aber nachdem ich zu 'Ticket Level 2' gewechselt habe, erscheint die Nachricht 'Ticket 2' nicht.