またね。他のドロップダウン値に応じてコンテンツを含むドロップダウンを作成する方法を尋ねる多くのスレッドを見てきました。これらのロジックは私にも当てはまります。しかし、ドロップダウンの内容が他の2つのドロップダウンの選択/値に依存するという問題があります。1 つのドロップダウンに依存するためのコードは次のようになります。
$form = $crud->form;
$dd1 = $form->addField('dropdown', 'color', 'Color');
$dd1->setValueList(array('1' => 'white', '2' => 'black'));
$dd1->setEmptyText('all');
$dd2 = $form->addField('dropdown', 'size', 'Size');
$dd2->setValueList(array('1' => 'small', '2' => 'normal', '3' => 'large'));
$dd2->setModel('Size');
$dd3 = $form->getElement('packaging_id');
if ($_GET['color']) {
$dd3->model->addCondition('color', $_GET['color']);
}
if ($_GET['size']) {
$dd3->model->addCondition('size', $_GET['size']);
}
$dd1->js('change',
$form->js()->atk4_form('reloadField', 'packaging_id',
array($this->api->url(), 'color' => $dd1->js()->val())
)
);
$dd2->js('change',
$form->js()->atk4_form('reloadField', 'packaging_id',
array($this->api->url(), 'size' => $dd2->js()->val())
)
);
これらのコードを使用すると、「サイズ」または「色」オプションdd3
に一致するパッケージがドロップダウンに表示されます。しかし、「サイズ」オプションと「色」オプションの両方に一致するパッケージでドロップダウンが満たされる必要があります(たとえば、「小」と「黒」のパッケージ)。両方のドロップダウンから値を取得し、それを 'reloadField' $_GET 引数に入れる方法が必要だと思います。次に、$_GET から抽出し、2 つの条件を適用します。しかし、私はまだ方法を見つけていません。誰でも私を助けることができますか?ありがとう。dd3
dd1
dd2
さよなら...