2014-01-07 4 views
0

JQuery 나 JS를 사용하지 않고도 우아한 솔루션을 찾으려고합니다. 어쨌든 모델의 옵션 인 필드에서 모두 선택을 수행 할 수 있습니까? 내가 사용하는 것이 너무 치열하지 않다장고의 모든 확인란 선택

는 : https://groups.google.com/forum/#!topic/django-users/dzdiZ9TLR5g

그러나 쉽게 나를에서 직접 모든 선택을 제공 할 수 있도록 할 아무것도 찾을 수 없었 : django checkbox select all

나는 그것이 암시 본 적이 장고. 이 스위치가 켜져 있는지 누가 알 수 있습니까? 아니면 JS가 이것을 수행하는 유일한 방법입니까?

나는이 대답은 이전주의 : select all rows in django_tables2

하지만 필드는 이유를 알고 않을 수 있기 때문에이 방법을 피하는 방법이있다 - 나는 각 페이지에 하나 개 이상의 필드가있는 경우에 따라서, - 여러 이름을 즉 .

답변

1

Django에서 작성한 모든 솔루션에는 javascript/jquery가 포함 된 html 출력을 재정의하는 것이 포함됩니다. 나는 그것을 둥글게하는 것이 없다고 생각합니다.

편집 : 귀하의 의견에 답하기 위해 개인적으로하는 방법은 표준 확인란 위젯에서 단순한 상속을 받지만 "slave-checkbox"또는 이와 유사한 것으로 변경할 수있는 SlaveCheckboxWidget을 만드는 것입니다 약간의 jquery를 포함하는 MasterCheckboxWidget을 가지고 모두 (".slave-checkbox")을 선택하고 토글하십시오. 장고 위젯

+0

감사 :

JS 코드 :

<script type="text/javascript" > function toggle(source,name) { checkboxes = document.getElementsByName(name); for (var i = 0, n = checkboxes.length; i < n; i++) { checkboxes[i].checked = source.checked; } } </script> 

내가 장고에이 솔루션을 확장? – disruptive

1

here 사용자 정의에

더 여기에 여러 양식 및 여러 필드 내 쉬운 해결책은 다음과 같습니다

 {% for form in formset %} 

    <div> 
     {% for field in form %} 

     {{ field }} 

     {% for check in field|slice:":1" %} 
     <input type="checkbox" onClick="toggle(this,'{{ check.name }}')"/> 
     Select All 
     {% endfor %} 
     {% endfor %} 
    </div> 

    {% endfor %} 

하나 개의 필드의 각각의 체크 박스가 같은 이름을 가진 - 그래서 JS가 작업 할 수 있습니다. 이 예제 폼의 모든 필드는 체크 박스입니다. 당신은 각 양식에 여러 필드를 처리 할 좋은 솔루션을 알고있다 - How to implement "select all" check box in HTML?