微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

select2通过AJAX获取远程数据的方法

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] 举报,一经查实,本站将立刻删除。

相关推荐