2011-02-23 2 views
1

ajax 및 jquery를 사용하여 검색 양식을 작성했습니다. 여기서 사용자, start_date 및 end_date와 함께 양식을 제출하려고합니다. 여기django에서 ajax 및 jquery 검색 양식에 대한 도움이 필요합니다.

사용자 = Q 시작일 = Q1 종료일 = Q2

검색 코드 :

{% extends 'newbase.html' %} 

{% block extra_js %} 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#searchSubmit').click(function() { 
    q = $('#q').val(); 
    $('#search_results').html('&nbsp;').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)) 
에서는 다음과 같습니다

  • 날짜 및 사용자 이름을 부여한 후 결과를 반환하지 않습니까?
  • 어떻게? Q = Q & Q1 = Q1처럼 아약스 에서 여러 인수를 추가하는 & Q2 = Q2를 JQuery와 기능에?
  • request.GET.get에서 값을 가져 오는 방법과 ORM으로 전달 하시겠습니까? 내가 그것을 출력을 제공이 줄을 편집하여 사용자 만의 검색을 수행 할 경우

변경 다음

는 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)) 

하지만 여기에 하나의 검색

$('#search_results').html('&nbsp;').load('/myapp/results_search/?q=' + q); 

이 작동 작동 , 만약 내가 여러 args 작동하지 않는 추가했습니다.

내가

내가 내 자신에 그것을 해결 한이

답변

0

에 도움이 필요하세요 request.GET.get에 뭔가 잘못을하고있는 중이 야, 내가 스크립트 라인 아래에 추가하는 것을 잊었다,이 값이 비어 가고있다 이제 검색 결과가 표시됩니다.

q1 = $ ('# q1'). val(); q2 = $ ('# q2'). val();

관련 문제