在 django 中需要有关 ajax 和 jquery 搜索表单的帮助
Posted
技术标签:
【中文标题】在 django 中需要有关 ajax 和 jquery 搜索表单的帮助【英文标题】:Need help on ajax and jquery search form in django 【发布时间】:2011-07-02 13:44:08 【问题描述】:我使用 ajax 和 jquery 编写了一个搜索表单,这里我尝试提交一个包含用户、start_date 和 end_date 的表单。
这里用户 = q 开始日期=q1 end_date =q2
搜索代码:
% extends 'newbase.html' %
% block extra_js %
<script type="text/javascript">
$( document ).ready( function()
$( '#searchSubmit' ).click( function()
q = $( '#q' ).val();
$( '#search_results').html( ' ' ).load( '/myapp/results_search/?q=' + q +'&q1='+ q1 +'&q2='+q2 );
);
);
$( document ).ajaxStart( function()
$( '#spinner' ).show();
).ajaxStop( function()
$( '#spinner' ).hide();
);
</script>
% endblock %
% block content %
<center>
<div>
<input id="q" type="text"/>
<input id="q1" type="text"/>
<input id="q2" type="text"/>
<input id="searchSubmit" type="submit" value="Search"/>
<br/>
<span class="hint">Type in a user & Dates to search </span>
<div class="margin">
<span id="spinner"><img src="/media/img/spinner.gif"/></span>
<div id="search_results"></div>
</div>
</div>
</center>
% endblock %
在view.py中
def user_search(request):
data =
return render_to_response('manager/attendance_search.html', data,
context_instance = RequestContext(request))
def results_search(request):
if request.is_ajax():
q = request.GET.get( 'q' )
start=request.GET.get( 'q1')
end=request.GET.get( 'q2' )
if q is not None:
results = MyTable.objects.filter(at_user=q,at_date__gte=start,at_date__lte=end)
data =
'results': results,
return render_to_response( 'search_results.html', data,
context_instance = RequestContext(request))
我的问题是:
在给出日期和用户名之后 不返回任何结果? 如何在 ajax 中添加多个参数 像 ?q=q & q1=q1 & q2=q2 in jquery 函数? 如何从 request.GET.get 中获取值并传递给 ORM ?如果我只通过编辑此行进行用户搜索,它会给出输出
以下更改有效
$( '#search_results').html( ' ' ).load( '/myapp/results_search/?q=' + q );
在 view.py 中
def results_search(request):
if request.is_ajax():
q = request.GET.get( 'q' )
if q is not None:
results = MyTable.objects.filter(at_user=q)
data =
'results': results,
return render_to_response( 'search_results.html', data,
context_instance = RequestContext(request))
但是这里的单一搜索是有效的,如果我添加了多个参数它就不起作用。
我在 request.GET.get 中做错了什么
请在这方面需要帮助
【问题讨论】:
【参考方案1】:我自己修复了它,我忘了在脚本中添加下面的行,这个值是空的。现在我得到了搜索结果
q1 = $('#q1').val(); q2 = $('#q2').val();
【讨论】:
以上是关于在 django 中需要有关 ajax 和 jquery 搜索表单的帮助的主要内容,如果未能解决你的问题,请参考以下文章