需要的数据格式是有要求的, 如下:
- {
- "results": [
- {
- "id": "CA",
- "text": "California"
- },
- {
- "id": "CO",
- "text": "Colarado"
- }
- ],
- "more": false
- }
比如我们编写一个 python(Django) 来实现:
- class ApiWorkTicketEcsGetType(LoginRequiredMixin, View):
- def get(self,request):
- datalist = []
- t = models.AliEcsType.objects.all().values('alitypeid','typename')
- for i in t:
- ret = {}
- ret['id']= i['alitypeid']
- ret['text'] = i['typename'] + '-' + i['alitypeid']
- datalist.append(ret)
- return HttpResponse(json.dumps({'results':datalist,'more':'false'}), content_type='application/json')
然后我们就可以编辑 html 页面了
- <div class="form-group">
- <label class="col-sm-3 control-label no-padding-right"> 服务器类型 </label>
- <div class="col-sm-5">
- <select class="js-data-example-ajax form-control"></select>
- </div>
- </div>
- <script type="application/javascript">
- $('.js-data-example-ajax').select2({
- ajax: {
- url: '{% url'api_workticket_getecstype'%}',
- dataType: 'json',
- // Additional AJAX parameters go here; see the end of this chapter for the full code of this example
- }
- });
- </script>
来源: http://www.bubuko.com/infodetail-2772031.html