だから私はこのような2次元配列を持っています:
$types = array(
'type1' => array('AA', 'AB', 'AC'),
'type2' => array('BA', 'BB', 'BC')
);
2 つのフォーム選択を作成したい: 1 つはタイプ選択 ('type1'、'type2' など) で、2 つ目は値選択 ('AA'、'AB' など) ですが、値が必要です。最初の選択に応じてオプションを自動的に変更します。
私はPHPを使用しており、値は厳密に配列からのものです(データベースからではありません)。
2 番目のフォーム選択を動的に入力するために必要な AJAX およびその他のコードを手伝ってくれる人はいますか?
何を試したかを示すために、これまでに作成したコードを次に示します。
入力セル:
$settingCell = $this->Widget->input('sigtypes', array('id' => 'type', 'label' => '', 'options' => array_keys($model::$signalTypeOptions)));
$settingCell .= $this->Widget->input('sigtypevalues', array('label' => '', 'options' => $options));
Javascript
$this->Js->get('#type')->event('change',
$this->Js->request(
array('controller'=>'utilities','action'=>'updateInput'),
array('update' => '$("#options")', 'dataExpression' => true, 'data' => '{value: $this.value}')));
ユーティリティコントローラー:
public function updateInput($value = 0)
{
$signalTypeOptions = $model::$signalTypeOptions;
$this->set('options', $signalTypeOptions);
}