javascript - Need jquery to search data on all pages and display rather than data only on page -
my issue when search on site using jquery searching on page displayed @ moment , search of data , display on page accordingly, 2.6 m entries. using core django paginator pagination , using simple jquery , ajax search tool. please help!
heres view:
def tissues(request): contact_list = tissuetable.objects.all() paginator = paginator(contact_list, 100) # show 25 contacts per page page = request.get.get('page') try: contacts = paginator.page(page) except pagenotaninteger: # if page not integer, deliver first page. contacts = paginator.page(1) except emptypage: # if page out of range (e.g. 9999), deliver last page of results. contacts = paginator.page(paginator.num_pages) return render(request, '.html', {'contacts': contacts})
heres 2 templates, base , home, base.html:
<html> <head> <title>animal ngs data</font></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $('a[rel="external"]').attr('target', '_blank'); </script> <style> th { border-bottom: 1px solid #d6d6d6; } tr:nth-child(even) { background:#e9e9e9; } </style> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1 left>ngs cufflink's data</h1> </div> <div data-role="main" class="ui-content"> <form> <input id="filtertable-input" data-type="search" placeholder="search tissue data..."> </form> <table data-role="table" data-mode="columntoggle" class="ui-responsive ui-shadow" id="mytable" data-filter="true" data-input="#filtertable-input"> </head> <body> <map title="navigation bar"> <p> <a href = "http://127.0.0.1:8000/" rel="external"style="display:block;">ngs data</a> <a href= "http://127.0.0.1:8000/genes/" rel="external"style="display:block;">genes</a> <a href = "http://127.0.0.1:8000/experiment/"rel="external"style="display:block;">experiment</a> <a href = "http://127.0.0.1:8000/organisms/"rel="external"style="display:block;">organisms</a> <a href = "http://127.0.0.1:8000/tissues/"rel="external"style="display:block;">tissue data</a> </p> </map> <h1><font color='red'>tissue data</font></h1> {% block content %} {% endblock %} </body> {% load staticfiles %} <link rel="stylesheet" type="text/css" href="{% static 'myapp/style.css' %}" /> </html>
and home.html
{% extends "tissues/base.html" %} {% block content %} <!--<table id='table' data-mode="columntoggle" border = '10' bordercolor = 'mahogany'>--> <div class="pagination"> <span class="step-links"> {% if contacts.has_previous %} <a href="?page={{ contacts.previous_page_number }}">previous</a> {% endif %} <span class="current"> page {{ contacts.number }} of {{ contacts.paginator.num_pages }}. </span> {% if contacts.has_next %} <a href="?page={{ contacts.next_page_number }}">next</a> {% endif %} </span> </div> <table data-role="table" id="mytable" class="ui-responsive ui-shadow" data-filter="true" data-input="#filtertable-input" bgcolor = 'cyan'> <thead> <tr bgcolor = 'pink'> <th>tissue id</th> <th>tissue term</th> <th>definition</th> </tr> <thead> <tbody> {% b in contacts.object_list%} <tr> <td>{{b.tissue_id}}</td> <td>{{b.tissue_term}}</td> <td>{{b.definition}}</td> </tr> {% endfor %} </table> <div class="pagination"> <span class="step-links"> {% if contacts.has_previous %} <a href="?page={{ contacts.previous_page_number }}">previous</a> {% endif %} <span class="current"> page {{ contacts.number }} of {{ contacts.paginator.num_pages }}. </span> {% if contacts.has_next %} <a href="?page={{ contacts.next_page_number }}">next</a> {% endif %} </span> </div> {% endblock %}
looks need separate view function, , deliver results separately via ajax. may one:
def ajax_activity_objects_search(request): search_phrase = request.get.get('q') matched = activityobject.objects.filter( address__icontains=search_phrase, ) response = '' act_object in matched: response += '<option value="' + str(act_object.id) + '">' \ + act_object.address + '</option>' return httpresponse(response)
Comments
Post a Comment