使用drupal ajax添加字段并选择列表

时间:2016-05-18 13:17:32

标签: ajax drupal

我想根据所选的选项更新textarea中的消息,你知道我怎么能这样做吗?

选择列表:field_level_list,包含选项:故障单级别1 /故障单级别2 /故障单级别3

这是Hook form_alter:

<script src="https://code.jquery.com/jquery-2.1.4.js"></script><div id="conversationDiv">
  
</div>

这是回调函数:

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>';
}

这有效,但我总是得到相同的消息($ message)。如果我先点击'Ticket level 1',我会在textarea字段中获得'Ticket 1',但如果我改为'Ticket level 2',则不会出现'Ticket 2'消息。

1 个答案:

答案 0 :(得分:0)

我认为这不是最好的方式,但它有效:

$form['#prefix'] = '<div id="level_message">';
$form['#suffix'] = '</div>';