Drupal7:要形成的动态多维数组,如何使用动态处理程序(使用Dynamics提交)

Drupal7:要形成的动态多维数组,如何使用动态处理程序(使用Dynamics提交),drupal,drupal-7,drupal-forms,Drupal,Drupal 7,Drupal Forms,(很抱歉我的英语写作不好) 嗨! 我有一个多维数组,如下所示: A A1 A2 B B1 C C1 C2 C3 ... foreach (...){ ... $form[$tree][$subtree][$id]['remove'] = array( '#type' => 'submit', '#submit' => array('_delete_element_submit'),

(很抱歉我的英语写作不好)

嗨! 我有一个多维数组,如下所示:

A
    A1
    A2
B
    B1
C
    C1
    C2
    C3
...
foreach (...){
    ...
    $form[$tree][$subtree][$id]['remove'] = array(
        '#type' => 'submit',
        '#submit' => array('_delete_element_submit'),
        '#ajax' => array(
            'callback' => '_delete_element_ajaxcallback',
            'wrapper' => 'my-html-id',
        ),
    );
    ...
}
我想把这个数组显示成一个表单(我做到了=))。对于每个元素(A、A1、A2、B…),我想添加一个ajax移除按钮,如下所示:

A x
    A1 x
    A2 x
因此,对于每个元素,我添加了一个带有ajax参数的提交表单,如下所示:

A
    A1
    A2
B
    B1
C
    C1
    C2
    C3
...
foreach (...){
    ...
    $form[$tree][$subtree][$id]['remove'] = array(
        '#type' => 'submit',
        '#submit' => array('_delete_element_submit'),
        '#ajax' => array(
            'callback' => '_delete_element_ajaxcallback',
            'wrapper' => 'my-html-id',
        ),
    );
    ...
}
我想我可以在为每个处理程序使用处理程序时使用参数。但在谷歌搜索之后,似乎不可能将参数传递给handler:/ 无法创建Dynamics处理程序?:/为动态表单的每个元素实现deleteajax按钮的正确/最佳方法是什么


谢谢(我希望我明白了

希望以下代码会有所帮助:

 $form['names_fieldset']['remove_useful_name'][$key] = array(
            '#type' => 'submit',
            '#value' => t('delete' ),
            '#submit' => array('remove_one_method'),
            '#ajax' => array(
                'callback' => 'add_more_method',
                'wrapper' => 'names-fieldset-wrapper',
                // add trigger 
                'trigger_as' => array(
                  'name' => 'submit_name'.$key,
                ), //
            ),
        );

function remove_one_method($form, &$form_state) {
    dd($_POST['_triggering_element_name']);
    $submit_name= $_POST['_triggering_element_name'];
    $key= str_replace ('submit_name','',$submit_name);
    // You can get the $key here.
    // Base this $key remove the component from the form.
    ......
    $form_state['rebuild'] = TRUE;
}