2010-03-19 2 views
3

ChoiceField에서 선택해야하는 모델에 CharField가 있습니다. 사용자의 선택이 선택 필드에 없으면 "기타"를 선택하고 텍스트 입력을 입력 할 수 있습니다. 어떻게해야합니까? 나는 javascript가 필요 없다. 장고 부분에 대한 도움.ChoiceField 또는 CharField 장고 형식으로

답변

5

가장 좋은 방법은 모델/양식에 선택 항목을 표시하는 사용자 정의 위젯과 올바른 행동으로 '기타'를 포함하는 CharField 만 갖는 것입니다. '기타'옵션이 당신의 ChoiceField에 선택한 경우

2

RZ가 가시화되는 CharField 숨겨진 "기타"를 가지고 좋은 해결책

(이하 자바 스크립트로) 대체 솔루션이다가

편집 : (jQuery로) 같은 style="display: none;"에 숨겨진 아닌 HiddenInput 필드

뭔가 :

$("#id_myChoiceField").change(function() { 
    if ($(this).val() == 'other') { 
     $("#id_myOtherInput").show(); 
    } 
    else { 
     $("#id_myOtherInput").hide(); 
    } 
}); 

당신은 비록 자신의 유효성 검사 코드를 작성해야하고, "기타"Charfield에 required=False을 설정합니다

0

같은 것을 보일 것입니다 그 양식 클래스 :

class ChoicesForm(forms.ModelForm): 
    # some other fields here 
    ... 
    other = forms.CharField(required=False) 
    ... 

그냥 표시하는 자바 스크립트를 만듭니다 사용자가 선택 항목 중 '기타'를 선택하면 '기타'텍스트 입력

관련 문제