0

たくさんのサイトにたくさんのチュートリアルがあることは知っていますが (ここ数時間でほとんどのチュートリアルを読みました)、まだ次のコードを動作させることができません。誰かが私が間違っていることを見ることができますか?

最初の選択ボックスの値を変更しても 2 番目の選択ボックスが更新されず、変更を加えたときに最初の選択ボックスの横にある青い回転する 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 に答える