2012-03-01 21 views
-1

我想要設計與許多領域的形式。有些字段依賴於第一個下拉列表。 如何設計只顯示那些需要的?如何設計動態表單?

+0

我擔心這種反應是'手工使用jquery'。 – danihp 2012-03-01 08:15:24

+0

我想要設計有效的Django類的所有字段,並只顯示需要 – Nips 2012-03-01 08:32:24

+0

一個解決方案可能被設置爲隱藏的依賴輸入,並在需要時通過可視化控件與jQuery進行更改。 – danihp 2012-03-01 09:11:10

回答

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

如果您想在多個步驟中創建一個動態表單,其中第二個表單依賴於第一個表單值,那麼您可以使用Django表單嚮導。如果你不想使用jquery,這很好。通過這種方式,您還可以爲個別表單應用自定義清理功能。

檢查form wizard文檔。我希望這會對你有用。