0

我知道有很多关于大量网站的教程(我在过去几个小时内阅读了大部分教程),但我仍然无法让以下代码正常工作。谁能看到我做错了什么?

当我更改第一个选择框的值时,第二个选择框不会更新,并且当我进行更改时,我没有得到第一个选择框旁边的蓝色旋转 ajax 圆圈。

     $form['age_range'] = array(
      '#type'=>'select',
      '#title'=>'Age Range',
      '#options'=>$age_ranges,
      '#ajax'=>array(
          'event'=>'change',
          'callback'=>'childcare_observations_ajax_set_eyfs_category_list',
          'wrapper'=>'eyfs_category_wrapper',
          'method'=>'replace',
      )
    );

    $form['eyfs_category_wrapper'] = array('#prefix'=>'<div class="eyfs_category_wrapper">','#suffix'=>'</div>');

    $form['eyfs_category_wrapper']['eyfs_category'] = array(
      '#type'=>'select',
      '#title'=>'EYFS Category',
      '#options'=>array(1=>'one',2=>'Two'),
    );


    return $form;
}

function childcare_observations_ajax_set_eyfs_category_list($form,&$form_state){
    $eyfs_category_options = array();
    $eyfs_category_options[0] = "We just changed the list values";
    $eyfs_category_options[1] = "We also added a second option";
    $form['eyfs_category_wrapper']['eyfs_category'] = array(
        '#type'=>'select',
        '#title'=>'EYFS Category',
        '#options'=>$eyfs_category_options,
    );
    return $form['eyfs_category_wrapper'];
}
4

1 回答 1

0

包装器应该是要替换的元素的id。你有它作为eyfs_category_wrapper的一个

另外我不确定“eyfs_category_wrapper”是否是一个有效元素,通常我使用一个字段集,或者只是在我的目标字段中添加一个前缀和后缀。

于 2014-10-14T20:56:44.063 回答