我有一个html页面,可以通过下拉菜单选择员工的名称。下拉菜单中的所选选项显示相应指定的员工。我可以通过下拉菜单显示员工选择的名称。下拉菜单中的选项是“选择一个名称”,“实习生”,“软件工程师”,“项目经理”,“测试员”等。即使员工根据指定正确列出,下拉选项仍然保持不变“选择一个名称”(这是下拉列表中的第一个选项)。请帮助:* MY * 对于糟糕的缩进感到抱歉,我在这里找不到如何输入HTML代码。 HTML IS:
<form action="http://10.1.0.90:8080/filter/" method="POST">
Designation:<select name="designation" onchange="document.forms[0].submit()" selected="True">
<option value="" selected>Select A Designation</option>
<option value="Trainee">Trainee</option>
<option value="Software Engineer Trainee">Software Engineer Trainee</option>
<option value="Software Engineer">Software Engineer</option >
<option value="Senior Software Engineer">Senior Software Engineer</option>
<option value="Project Manager">Project Manager</option>
<option value="System Administrator">System Administrator</option>
<option value="Tester">Tester</option>
</select>
我对Django的看法是:
def filter(request):
newData = EmployeeDetails.objects.filter(designation=request.POST.get('designation'))
return render_to_response('filter.html',{'newData':newData})
答案 0 :(得分:1)
据我所知,您在为Designation呈现正确值时遇到问题。您需要先修复代码中的错误。为什么selected=True
位于select标记内?并且您在第一个选项标签内悬挂了“已选中”。类似的东西:
Designation:
<select name="designation" onchange="document.forms[0].submit()">
<option value="" {% ifequal VAL this_value %}selected="True"{% endif %}>Select A Designation</option>
应该有效,其中VAL对应于您想要选择的选项的值。但是,您需要为所有&lt;选项&gt; s,所以我同意Haes,django表格仍然是要走的路。
答案 1 :(得分:0)
我建议您使用Django Forms。 Django Forms将负责设置初始值,表单验证,呈现表单等。
附注,如果您只是使用此表单过滤一些数据,最好使用GET请求(而不是POST),因为它是discussed here。