2012-03-01 4 views
-1

多くのフィールドを持つフォームを設計したい。一部のフィールドは、最初のドロップダウンリストに依存します。 必要なものだけを表示するようにデザインするにはどうすればよいですか?動的フォームを設計するには?

+0

私は、レスポンスは「手でjqueryを使って」いることを恐れています。 – danihp

+0

すべてのフィールドで有効なdjangoクラスを設計し、必要な場合のみ表示したい – Nips

+0

ソリューションは、依存入力を隠しとして設定し、必要に応じてjqueryで可視コントロールで変更することができます。 – danihp

答えて

1

あなたはで、CSSに必要でないかもしれないものを隠す必要があります。

次に、選択の値に応じてフィールドを表示/非表示にするには、のjavascriptを作成する必要があります。 jQueryの例:

$('select[name=yourselect]').change(function() { 
    switch($(this).val()) { 
     case 'someval': 
      $('input[name=somefield]').show(); 
      $('input[name=someotherfield]').hide(); 
      break; 
     // add as many cases as you want, one for each value 
    } 
}) 

// this is useful when your select has an initial value, 
// to show/hide the fields depending on the initially selected option 
$('select[name=yourselect]').trigger('change'); 

server side checks with your form clean() methodとすることもできます。

0

2番目のフォームが最初のフォームの値に依存する複数のステップで動的フォームを作成する場合は、Djangoフォームウィザードを使用できます。これはjqueryを使いたくない場合に便利です。このようにして、個々のフォームにカスタマイズされたクリーン機能を適用することもできます。

form wizardのドキュメントを確認してください。これがあなたに役立つことを願っています。

関連する問題