2009-09-20 3 views
3

안녕 얘들 아. 모든 회사에 대한 드롭 다운 형식의 양식이 있습니다. 이제 사용자가 회사 드롭 다운 상자의 값을 양식의 제출 단추를 누르지 않고 변경하면 해당 회사에서 일하는 모든 사람들을 표시하려고합니다. 누구든지 그 좋은 모범이 있습니까?장고 드롭 다운 자동 제출

TKS

+1

이것은 django보다 ajax/javascript에 관한 것입니다. 아약스 튜토리얼을 읽는 것이 좋습니다. – Fragsworth

+0

@Fragsworth 사실, 반드시 장고에 관한 것은 아닙니다. 그러나 javascript 나 ajax가 필요 없다는 것도 사실입니다. –

답변

3

알렉스의 대답은 좋은 방법이지만, 여기에 대한 대안이 있습니다. 장고와 민달팽이가 잘 어울립니다. 그리고 jquery와 눈에 거슬리는 자바 스크립트 순간에 엉덩이입니다.

값을 게시하는 대신 잘 작성된 URL로 이동할 수 있습니다. 이것은 페이지를 더 많은 SEO 친화적 인 것으로 만들고, 사람들이 페이지를 북마크 할 수있게 해주 며, 누군가가 뒤로 버튼을 클릭 할 때 POST 된 정보에 대한 어리석은 오류를 피할 수 있다는 부가적인 이점이 있습니다.

Alex 또는 광산의 코드 중 하나에서 클라이언트 브라우저에서 javascript를 사용 중지하면 탐색이 중단됩니다. 이 콤보 상자가 페이지의 어딘가에서 무엇이든간에 (바닥에 어쩌면) 푸터 링크를 제공하는 것이 좋습니다.

(테스트되지 않은 일부 약간의 비틀기를해야 할 수도 있습니다)

<!-- you'll need jquery to make this work --> 
<script type="text/javascript"> 
    $(function() { 
      // navigate to page on click event 
      $('#nav_combo').bind('change', function() { goToPage(); }); 
    }); 

    function goToPage() { 
     var baseUrl = '/your/base/url/'; 
     window.location.href = baseUrl + $('nav_combo').val() 
    } 
</script> 

... 

<form> 
    <select id="nav_combo"> 
      <option value="page-1-slug">Page 1</option> 
      <option value="page-2-slug">Page 2</option> 
    </select> 
</form> 

편집 - 그건 그렇고, 당신이 쉽게 위의 장고의 object_detail generic view에 연결 코드를 사용할 수 있습니다 언급해야한다.

+0

흥미로운 개념, +1 –

8

없음 아약스는 반드시 ... 단지 같은 것을 사용, 당신은 단지 양식을 제출 할 수 있으며,이 노래를하든 장고 또는 다른 서버 측의 선택은 어떤 차이가 없기 때문에 필요하지 :

<form name=companiesForm action="whateverurl" method=POST> 
    <p> 
    <select name=companySelect size=1 onChange="companiesForm.submit();"> 
    <option value="" SELECTED>Choose A Company 
    <option value="1">One Company 
    <option value="2">Another Company 
    <option value="3">A Third Company 
    </select> 
    </p> 
</form> 
관련 문제