안녕 얘들 아. 모든 회사에 대한 드롭 다운 형식의 양식이 있습니다. 이제 사용자가 회사 드롭 다운 상자의 값을 양식의 제출 단추를 누르지 않고 변경하면 해당 회사에서 일하는 모든 사람들을 표시하려고합니다. 누구든지 그 좋은 모범이 있습니까?장고 드롭 다운 자동 제출
TKS
안녕 얘들 아. 모든 회사에 대한 드롭 다운 형식의 양식이 있습니다. 이제 사용자가 회사 드롭 다운 상자의 값을 양식의 제출 단추를 누르지 않고 변경하면 해당 회사에서 일하는 모든 사람들을 표시하려고합니다. 누구든지 그 좋은 모범이 있습니까?장고 드롭 다운 자동 제출
TKS
알렉스의 대답은 좋은 방법이지만, 여기에 대한 대안이 있습니다. 장고와 민달팽이가 잘 어울립니다. 그리고 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에 연결 코드를 사용할 수 있습니다 언급해야한다.
흥미로운 개념, +1 –
없음 아약스는 반드시 ... 단지 같은 것을 사용, 당신은 단지 양식을 제출 할 수 있으며,이 노래를하든 장고 또는 다른 서버 측의 선택은 어떤 차이가 없기 때문에 필요하지 :
<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>
이것은 django보다 ajax/javascript에 관한 것입니다. 아약스 튜토리얼을 읽는 것이 좋습니다. – Fragsworth
@Fragsworth 사실, 반드시 장고에 관한 것은 아닙니다. 그러나 javascript 나 ajax가 필요 없다는 것도 사실입니다. –