Я использую автозаполнение Djago + jQuery. Автоматическое заполнение действительно работает. Но я не уверен, как отправить данные после того, как пользователь ее выберет. Когда я отправляю его, появляется вся информация, которую загружает автозаполнение.JQuery Autocomplete - данные после выбранного
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>
Джанго
# 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),
]
Выход:
[06/Декабрь/2016 13:53:40] «GET/showlist? предложения% 5B0% 5D% 5Bvalue% 5D = Танцы + с + + Звезды & предложения% 5B0% 5D% 5Blabel% 5D = Танцы + с + + Звезды & предложения% 5B1% 5D% 5Bvalue% 5D = Dance + Moms & предложения% 5B1% 5D% 5Blabel% 5D = Dance + Moms & предложения% 5B2% 5D% 5Bvalue% 5D = Танцы + на + + Edge & предложения% 5B2% 5D% 5Blabel% 5D = Танцы + на + Edge & предложения% 5B3% 5D% 5Bvalue% 5D = So + You + Think + You + Can + Dance & предложения% 5B3% 5D% 5Blabel% 5D = So + You + Think + You + Can + Dance & предложений% 5B4% 5D% 5Bvalue% 5D = Dance + Academy & Предложения% 5B4% 5D% 5Blabel% 5D = Dance + Academy HTTP/1.1 "200 80211 [06/Dec/2016 13:53:45]" GET/showlist? Csrfmiddlewaretoken = VaD6qQEWFViTSV1wvI3cNWGARSqZRnxYXeB3bwWsf xyzTBQv1SJ4oN4Yqeny2fMf HTTP/1.1" 200 80211
я должен получить только варианты танца мам, например, вместо того, чтобы это принести все из них.
Я попытался использовать события изменения и выбора, но это тоже не сработало.
вы используете в вашем взгляде JSON ответ? – marin
ли вы имеете в виду для моего/showlist ? Я havent манипулировать им еще .. –
Можете ли вы предоставить свой код Django? – marin