Javascript Django下拉菜单自动提交
嗨,伙计们。我有一个表格,上面有所有公司的下拉列表。现在,我想在用户更改公司下拉框中的值而不点击表单上的提交按钮时,显示为该公司工作的所有人员。有人能举个好例子吗Javascript Django下拉菜单自动提交,javascript,ajax,django,Javascript,Ajax,Django,嗨,伙计们。我有一个表格,上面有所有公司的下拉列表。现在,我想在用户更改公司下拉框中的值而不点击表单上的提交按钮时,显示为该公司工作的所有人员。有人能举个好例子吗 tks不需要Ajax,因为您只需提交表单,无论您是使用Django还是其他服务器端选择,都没有区别,只需使用类似于…: <form name=companiesForm action="whateverurl" method=POST> <p> <select name=companySelect
tks不需要Ajax,因为您只需提交表单,无论您是使用Django还是其他服务器端选择,都没有区别,只需使用类似于…:
<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和slugs搭配得相当好。目前,使用jquery的不引人注目的javascript非常流行
您可以简单地导航到构造良好的URL,而不是发布值。这样做还有一个额外的好处,那就是使页面更加SEO友好,让人们将页面添加到书签中,并且避免了当有人单击“后退”按钮时关于发布信息的愚蠢错误
请注意,无论是Alex还是我的代码,如果在客户端浏览器上禁用javascript,导航都会中断。最好提供一些页脚链接,指向此组合框在页面上的某个位置(可能是底部)所做的任何操作
(未经测试,可能需要稍微调整)
$(函数(){
//导航到单击事件页面
$('nav#u combo').bind('change',function(){goToPage();});
});
函数goToPage(){
var baseUrl='/your/base/url/';
window.location.href=baseUrl+$('nav_combo').val()
}
...
第1页
第2页
编辑——顺便说一句,我应该提到,您可以轻松地使用插入django的上面的代码。这更多地是关于ajax/javascript,而不是django。我建议你读一本关于ajax的教程。@Fragsworth没错,它不一定是关于django的。但它也确实不需要javascript或ajax。
<!-- 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>