我有一张包含大量作业数据的表格,我有一个下拉菜单和一个提交按钮,它充当过滤器,因此表格只显示基于过滤器的作业:
<form>
<select id="user_id_dropdown" name="user_id">
<option disabled selected>Filter by Username</option>
<option value="all">All Usernames</option>
<option disabled>────────────</option>
{% for user in users %}
<option value={{ user.id }}>{{ user.username }}</option>
{% endfor %}
</select>
<input id="filter" class="btn btn-primary" type="submit" value="Filter" />
</form>
<table>
...
我是如何使用该按钮完成的,以便用户名的user_id作为查询字符串传递,我的视图处理它。选择用户名(比如说它的user_id为4)并点击提交按钮后,网址为:
http://...jobs?user_id=4
然后我在下面有一个表格,其中显示的所有作业现在只有user_id
4
创建的作业。
问题是,现在我只想取消提交按钮,只需在下拉选项中提交表单。
我试图给表单命名,并在选择发生变化时提交:
<form name='filter' method=POST>
<select id="user_id_dropdown" name="user_id" onChange="filter.submit();">
...
但这似乎不起作用。它看起来像页面重新加载(类似于提交按钮),但表格数据没有改变。我在这里错过了什么?
答案 0 :(得分:0)
尝试将它放在你的onchange attr:
上document.filter.submit();
如果失败,请为表单指定ID属性并执行:
document.getElementById('youFormId').submit();
您也可以将其作为GET参数发送,如:
onchange="window.locatio.href+='?v='+this.value;"
顺便说一句,这个问题与Django关系不大,下次你问这类东西时应该用html / javascript标记。