Ich benutze Djago + jQuery Autocomplete. Die automatische Vervollständigung funktioniert tatsächlich. Aber ich bin nicht sicher, wie man die Daten sendet, nachdem der Benutzer sie auswählt. Wenn ich es sende, kommen alle Informationen, die Autocomplete abrufen.JQuery Autocomplete - Post Daten nach ausgewählten
jQuery
$("#tags5").autocomplete({
minLength:3,
source: function(req, add){
var search=$("#tags5").val();
$.ajax({
url:'/ajax/',
async:false,
dataType:'json',
type:'GET',
data:{ 'start': search,},
success: function(data){
var suggestions=[];
$.each(data, function(index, objeto){
suggestions.push(objeto);
});
add(suggestions);
#send data
$.get("/showlist", { suggestions });
},
error:function(err){
alert("error");
}
});
}
});
});
HTML
<form id='tv' method="GET" action="/showlist">{% csrf_token %}
<label for="tags5"> </label>
<input id="tags5" style="width: 500px">
<button class='btn btn-conf btn-green' type="submit" id="post-btn" style="width: 200px" >Adicionar</button>
</form>
Django
# views.py
def lista(request):
if request.is_ajax:
search=request.GET.get('start','')
tvshow=TvShowModel.objects.filter(tvs_name__icontains=search)
results=[]
for tv in tvshow:
tv_json={}
tv_json['label']=tv.tvs_name
tv_json['value']=tv.tvs_name
results.append(tv_json)
data_json=json.dumps(results[:5])
else:
data_json='fail'
mimetype="application/json"
return HttpResponse(data_json,mimetype)
def index(request):
return render(request, 'webapp/base.html')
# urls.py
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^showlist', views.showlist, name='showlist'),
url(r'^ajax/$',views.lista),
]
Ausgang:
[06/Dec/2016 13.53.40] „GET /Liste anzeigen? Vorschläge% 5B0% 5D% 5Bvalue% 5D = Tanzen + mit + den + Sternen & Vorschläge% 5B0% 5D% 5Blabel% 5D = Tanzen + mit + den + Sternen & Vorschläge% 5B1% 5D% 5Bvalue% 5D = Tanz + Moms & Vorschläge% 5B1% 5D% 5Blabel% 5D = Tanz + Mütter & Vorschläge% 5B2% 5D% 5Bvalue% 5D = Tanzen + auf + die + Kante & Vorschläge% 5B2% 5D% 5Blabel% 5D = Tanzen + auf + das + Edge & Vorschläge% 5B3% 5D% 5Bvalue% 5D = So + Du + Denk + Du + Kann + Tanzen & Vorschläge% 5B3% 5D% 5Blabel% 5D = So + Du + Denk + Du + Kann + Tanzen & Vorschläge% 5B4% 5D% 5Bvalue% 5D = Tanz + Akademie & Vorschläge% 5B4% 5D% 5Blabel% 5D = Tanz + Akademie HTTP/1.1 "200 80211 [06/Dez/2016 13:53:45]" GET/showlist? Csrfmiddlewaretoken = VaD6qQEWFViTSV1wvI3cNWGARSqZRnxYXeB3bwWsf xyzTBQv1SJ4oN4Yqeny2fMf HTTP/1.1" 200 80211
ich soll nur die Dance Moms Optionen zum Beispiel bekommen, stattdessen ist es, alle von ihnen zu bringen.
Ich habe versucht, die Change und Selector Ereignisse zu verwenden, aber es hat auch nicht funktioniert.
tun Sie in Ihrer Ansicht JSON-Antwort verwenden? – marin
Haben Sie für meine/Schauliste bedeuten "Ich habe es noch nicht manipuliert. –
Können Sie Ihren Django-Code zur Verfügung stellen? – marin