我有一個問題,我typeahead
,建議下拉框中出現,同時打字但沒有文字顯示。我所做的,看它是否只是一個隨機的下拉是輸入的話,我知道是我json
文件,並且不言語。當我鍵入未在我的數據庫下拉框中被刪除的話,那麼它實際上是沒有工作從json
文件的實際文本。同時在搜索框中輸入內容時,我在python控制檯中看到正在進行查詢。Twitter的預輸入沒有顯示文本只是一個空白下拉
在這裏你可以看到我輸入「數論」就是在我json
,你可以看到下拉菜單中沒有出現任何文本。
我確信,我的json
格式是使用http://jsonlint.com/正確的。爲什麼不在下拉框中顯示文字?
這是我的看法:
def search_subclasss(request):
q = request.GET.get('subclass', '')
sub_classs = SubClasss.objects.filter(subclasss__icontains=q)
results = []
for subclasss in sub_classs:
results.append([subclasss.subclasss, subclasss.subject_id])
data = json.dumps(results)
return HttpResponse(data, content_type='application/json')
這是我的html:
<script type="text/javascript">
var bestPictures = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('subclasss'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: "{% url 'search_subclasss' %}?subclass=%QUERY",
//url: '/search_subclasss/?subclass=%QUERY',
wildcard: '%QUERY'
}
});
$('#remote .typeahead').typeahead(null, {
name: 'subclasss',
display: 'subclasss',
limit: 10,
source: bestPictures
});
</script>
我的形式呈現:
<div class="form-group">
<div id="remote">
{% render_field form_post.subclass %}
</div>
</div>
隨着表單控件:
widget = {'subclass': forms.TextInput(attrs={'class': 'form-control typeahead', 'placeholder': 'class/subclass'}),