Javascript Django在一个html搜索字段中进行多个搜索+;selectpicker=如何更改操作的值?
我希望你很好 我有不同的搜索视图: #在用户应用程序中搜索配置文件({%url'用户:用户配置文件\结果“%”) #Nutricore应用程序中的搜索文章({%url'搜索结果'%}) 我希望所有这些搜索都以一种带有下拉列表的形式出现(类似这样的内容): 有人对此有想法吗?提前感谢,Javascript Django在一个html搜索字段中进行多个搜索+;selectpicker=如何更改操作的值?,javascript,jquery,django,search,Javascript,Jquery,Django,Search,我希望你很好 我有不同的搜索视图: #在用户应用程序中搜索配置文件({%url'用户:用户配置文件\结果“%”) #Nutricore应用程序中的搜索文章({%url'搜索结果'%}) 我希望所有这些搜索都以一种带有下拉列表的形式出现(类似这样的内容): 有人对此有想法吗?提前感谢, <form action="???" method="get" class="div-only-desk mr-2 my-auto
<form action="???" method="get" class="div-only-desk mr-2 my-auto w-100 order-1">
<div class="input-group">
<div class="dropdown">
<select class="selectpicker bouton-catego dropdown-toggle">
<optgroup label="Nutriscore">
<option value="{% url 'search_results_autor' %}">Autor</option>
<option value="{% url 'search_results' %}">Nutri</option>
</optgroup>
<optgroup label="Cooker">
<option value="{% url 'user:userprofile_result' %}">Find a cooker</option>
</optgroup>
</select>
</div>
<input class="form-control border border-right-0h" name="q" type="text" placeholder="{{ q }}" aria-label="Search">
</div>
</form>
自动
海狸鼠
找个炊具
一种解决方案是使用TemplateView
,代码如下:
class SearchResultsView(TemplateView):
template_name = 'search_results.html'
query1 = request.GET.get('q1')
articles = Post.objects.filter(
Q(title__icontains=query) | Q(slug__icontains=query)
)
profiles = request.GET.get('q2')
object_list = UserProfile.objects.filter(
Q(pays__icontains=query) | Q(town__icontains=query)
)
args = {'profiles': profiles, 'articles': articles}
return render(request, self.template_name, args)
您可以使用
{%if profiles%}
,{%if articles%}
检查结果,并仅在结果存在时显示结果,您还需要进行一些样式设置,以将结果显示为列表。谢谢您的回答Arun:),但是有没有办法使用与selectpicker值相关的变量?是的,您可以定义一个JavaScript函数,该函数在更改select值时更改该变量的值(使用select上的onchange
事件处理程序)。
<form action="???" method="get" class="div-only-desk mr-2 my-auto w-100 order-1">
<div class="input-group">
<div class="dropdown">
<select class="selectpicker bouton-catego dropdown-toggle">
<optgroup label="Nutriscore">
<option value="{% url 'search_results_autor' %}">Autor</option>
<option value="{% url 'search_results' %}">Nutri</option>
</optgroup>
<optgroup label="Cooker">
<option value="{% url 'user:userprofile_result' %}">Find a cooker</option>
</optgroup>
</select>
</div>
<input class="form-control border border-right-0h" name="q" type="text" placeholder="{{ q }}" aria-label="Search">
</div>
</form>
class SearchResultsView(TemplateView):
template_name = 'search_results.html'
query1 = request.GET.get('q1')
articles = Post.objects.filter(
Q(title__icontains=query) | Q(slug__icontains=query)
)
profiles = request.GET.get('q2')
object_list = UserProfile.objects.filter(
Q(pays__icontains=query) | Q(town__icontains=query)
)
args = {'profiles': profiles, 'articles': articles}
return render(request, self.template_name, args)