【发布时间】:2015-10-15 11:04:08
【问题描述】:
我正在使用带有远程 ajax 数据的 select2 插件。我可以在下拉列表中看到结果,但无法选择它们。我希望结果是可选择的,并在选择后放入字段中。我认为问题在于传递 id,我不知道如何正确传递它。有什么想法吗?
我的 json for ?tag_word=for ...没有 id
results: [{text: "fort"}, {text: "food"}]
代码如下:
<select class="js-data-example-ajax" style="width:100%">
<option selected="selected">asdasd</option>
</select>
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet" />
<script type="text/javascript" src="{% static 'js/select2.js' %}"></script>
<script >
$(document).ready(function(){
$('.js-data-example-ajax').select2({
minimumInputLength: 2,
multiple:true,
delay: 250,
cache: true,
ajax: {
url: '/tags/search/autocomplete/',
dataType: 'json',
data: function (parms, page) { return { tag_word: parms.term }; },
},
});
});
</script>
这是服务器代码:
def autocomplete(request):
s = SearchQuerySet(using='autocomplete')
sqs = s.autocomplete(content_auto=request.GET.get('tag_word'))[:5]
suggestions = [ {'text':result.tag_word,
'id':result.tag_word,} for result in sqs]
the_data = json.dumps({
'results': suggestions
})
return HttpResponse(the_data, content_type='application/json')
【问题讨论】:
-
你需要使用$.ajax的success:
标签: javascript jquery ajax json jquery-select2