遇到一个需求: 在前端使用Select2设计一个联想输入dropdown, 通过Ajax动态抓取数据

如果用纯H5来实现极其简单, 这里需要用Select2插件来实现

可以也使用H5原生onChange来进行动态提交但是这太愚蠢了, 现成的Select有更好的API啊

花了俩小时完成了这个功能, 官方Doc说的很是模糊..

代码细节:

$('select').select2({

ajax: {

url: "https://api.github.com/search/repositories",

dataType: 'json',

data: function (params) {

var query = { //请求的参数, 关键字和搜索条件之类的

search: params.term //select搜索框里面的value

}

// Query paramters will be ?search=[term]&page=[page]

return query;

},

delay: 1500,

processResults: function (data, params) {

//返回的选项必须处理成以下格式

//var results = [{ id: 0, text: 'enhancement' }, { id: 1, text: 'bug' }, { id: 2, text: 'duplicate' }, { id: 3, text: 'invalid' }, { id: 4, text: 'wontfix' }];

return {

results: results //必须赋值给results并且必须返回一个obj

};

}

}

});

参考文献

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐