select2通过AJAX获取远程数据的方法
官方地址:https://select2.org/data-sources/ajax
需要的数据格式是有要求的,如下:
{ "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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。