0
對不起,如果標題不是很清楚。我有一個與AJAX功能兼容的搜索引擎。現在,如果我在搜索框中鍵入t,那麼包含單詞t的標籤就會出現(例如,如果我輸入t,然後顯示測試),但事情是在刪除單詞t之後,所有標籤顯示在結果部分中。這有意義嗎?如果我不清楚我會張貼圖片。我不知道爲什麼或如何解決這個問題。 這是我的代碼。調用函數與ajax,部分工作,但部分不工作
<h3>Search</h3>
{% csrf_token %}
<input type="text" id="search" name="search" onkeyup="handle_keyup()"/>
<ul id="search-results">
</ul>
在這裏我不能刪除搜索結果,因爲這將顯示搜索結果,但是,當沒有任何輸入,還是所有的標籤顯示這部分。 (只顯示了所有當我完成使用搜索欄)
我的AJAX
function handle_keyup() {
$.ajax({
type: "POST",
url: "/search/",
data: {
'search_text' : $('#search').val(),
'csrfmiddlewaretoken' : $("input[name=csrfmiddlewaretoken]").val()
},
success: searchSuccess,
dataType: 'html'
});
};
function searchSuccess(data, textStatus, jqXHR)
{
$('#search-results').html(data);
}
問題可能是從那裏發生的,但我會後後端爲好。這是python django框架。
def search_titles(request):
# categories = SearchQuerySet().autocomplete(content_auto=request.POST.get('search_text', ''))
categories = Category.objects.filter(name__icontains=request.POST.get('search_text', ''))
return render_to_response('main/ajax_search.html', {'categories' : categories})
ajax_Search.html
{% if categories.count > 0 %}
{% for category in categories %}
<li><a href="/category/{{category.name}}">{{ category.name }}</a></li>
{% endfor %}
{% else %}
<li>None to show!</li>
{% endif %}
在此先感謝
謝謝,這似乎有效,但是當我試了一下,給了我一個語法錯誤類別= Category.objects.filter(name__icontains = TXT)) 不知道爲什麼,因爲它似乎有效,我沒有在正確的地方標籤。有沒有辦法通過其他方式解決這個問題? –
嗯,這真的好像沒有錯誤簡單的代碼,但爲什麼得到語法錯誤? –
你把兩個))那裏,修復後,搜索功能不起作用 –