2017-06-18 129 views
0

目標: 從Django窗體中,modelchoice字段我讓窗口小部件顯示多個複選框。但是對於每個複選框,我想顯示一個文本框然後提交。我需要知道,如果複選框沒有被選中,它仍然是id和可能的文本框值。如果是Ajax,我該如何實現這一目標。請詳細說明。因爲我對django相當陌生,並且沒有和ajax一起工作過。Django基於模型選擇字段中的值數量動態添加字段

+1

你能給我們提供關於模型的更多信息嗎? Django可以從模型中自動創建窗口小部件,但是如果只有一個字段或多個字段,您是否打算如何做到這一點並不清楚。 – jgmh

+0

該模型是通過模型的M2M ...基本上是一個學校的應用程序...和我的問題模型是那些誰是一個特定的班級註冊..出勤登記 我在做什麼是第一次獲得所有註冊的學生班級......這是一個模型中的FK。然後,我需要單獨顯示它們以檢查/選擇是否存在,以及那些不存在的,我需要選擇提供註釋(文本框)。這是一個挑戰,我如何讓每個學生都能看到文本框,並且如果他們不存在,就抓住相應的學生證。 – Randy

回答

0

所以,你要在這裏可能的辦法,

  1. 簡單(但非常緩慢的辦法): 提交表單用戶的複選框,輸入後,處理輸入的views.py,並相應服務形式的其他部分在不同的模板上。這將導致您重新加載頁面並更改相同表單的URL。如果你只是在開始學習Django時使用這種方法,那很好。
  2. 更好的方法。您可以在頁面JavaScript/JQuery上使用來確定複選框是否打勾或相應地顯示覆選框。你可以這樣做

    if(document.getElementById('yourCheckBoxID').checked) 
    { 
    $("#FormFieldID").show(); 
    } 
    else 
    { 
    $("#FormFieldID").hide(); 
    } 
    

如果你正在做的是後者,千萬要記得不要設置輸入字段爲「必需」的,不顯示文本字段時,它可能會引發了錯誤。如果必須的話,使用某種JS表單驗證。

希望這會有所幫助!

+0

感謝男人......這件事讓我頭痛。如果我得到通過,將會更新你... – Randy