简体   繁体   English

select2 ajax 中的结果回调

[英]result callback in select2 ajax

i want to add the result of api to my multiple select but the problem is it doesnt go to success or result callback (no log in results callback) what is the problem?我想将 api 的结果添加到我的多个 select 但问题是它不是 go 到成功或结果回调(没有登录结果回调)是什么问题? select2 version is <4 select2 版本 <4

$('#e1').select2({
    ajax: {
        dataType: "json",
        url: "http://192.168.1.5:8585/test.json",
        // data: function (data) {
        //  console.log("data");
        //  console.log(data);
        // },
        results: function (data) {
            console.log(data);
            return {
                results: data.data
            };
        }
    },
    multiple:true
});

HTML: HTML:

<input type="text" id="e1"/>

You need to return from the results method the format that select2 expects {id: "", text: "", selected: ...} aka:您需要从结果方法返回 select2 期望的格式{id: "", text: "", selected: ...} aka:

[
  {id: "CA", text: "California"},
  ...,
  {id: "MA", text: "Massachusetts", selected: true}
]

 $(() => { $(".js-data-example-ajax").select2({ ajax: { url: "https://api.github.com/orgs/select2/repos", data: function(params) { return { q: params.term, page: params.page, } }, results: function(data) { return { results: data.map(item => { return { id: item.id, text: item.name, selected: false // <- if you need } }), } }, }, }) })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/select2@3.5.1/select2.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/select2@3.5.1/select2.css" rel="stylesheet" /> <div style="width: 50%;" class="js-data-example-ajax"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM