2

ユーザは車両タイプを選択しなければならず、次に彼の選択に基づいて、車両モデルを選択するオプションがあり、その選択に基づいて、そのモデルで使用可能な特定の色です。Django Jquery:選択に基づいて、さらに選択オプションを表示

車種、モデル、色ごとに別々のDjangoモデルがあります。各車両インスタンスには多くのモデル(多対多フィールド)があり、各モデルには色(多対多フィールド)があります。

ユーザーが動的にこれを行うことができるようにテンプレートをどのように作成しますか?私は別のビューにリダイレクトしたくありません。私はユーザーがドロップダウンボックスから車両を選択することができるようにjqueryを使用する必要があると思っている、彼の選択に基づいて別のドロップダウンボックスが表示されます。

アイデア?

答えて

4

私のアプローチは、選択ボックスの内容を動的に変更するためにajaxを使用することです。これを実装する方法はたくさんあります。ここでは1 ...

  • 3つの選択ボックス(車両、モデル、色)
  • すべて空白のエントリを持つ最初のものに加えて、すべての車両を移入トラップ車両とモデルのためのonchangeイベントを作成しますです対応するjavascript関数を作成します。ここで

vehicleChange機能のためのsudoのコードです:

  • すべてクリアモデルオプションを選択
  • すべてクリアカラーの選択オプションが
  • はアヤックス
  • 移入を使用してサーバからのモデルの選択オプションを取得モデル選択ボックス。ここで

がmodelChange機能のためのsudoのコードです:

    • クリアカラーオプションを選択は、Ajax
    • 移入カラー選択ボックスを使用してサーバからの色の選択のオプションを取得します。

    は、だから今何が起こるかです:

    • あなたはアヤックスページを更新したり、リダイレクトされません使用しているため。
    • "モデル"と "色"のモデルはできるだけ単純なままです
    • "モデル"と "色"のビューは非常に小さくなります。

      <オプション値= "赤" >レッド< /オプション>
      <オプション値= "ホワイト" >ブルー< /オプション>
      <オプション値= "ブルー" >:一つの可能​​なビューのような何かをもたらすであろうあなたはSELをつかむためにjqueryのを使用することができます選択ボックスでオプションを変更するには、ブルー< /オプション>

    ectボックスを開き、htmlをajax呼び出しの結果と置き換えます。

  • +0

    :これまでオプションメニューの数がわからないのですか?私は別の質問として私の質問を入れた:http://stackoverflow.com/questions/16505587/django-template-display-dynamic-data-filed-according-to-the-content-of-the-dat – Lahiruzz

    関連する問題