Select2-Ajax获取数据

文章最初发表于szhshp的第三边境研究所
转载请注明

遇到一个需求: 在前端使用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 }; } } });

参考文献

http://select2.github.io/options.html

http://select2.github.io/examples.html#data-array

 

转载于:https://www.cnblogs.com/szhshp/p/7061957.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 中使用 Select2 获取数据,可以按照以下步骤进行: 1. 添加 Select2 的 CSS 和 JavaScript 依赖。可以通过引入 Select2 的 CDN 或在本地项目中引入相关文件来实现。 2. 在 HTML 页面中添加 Select2 控件。 3. 在 JavaScript 中初始化 Select2 控件,并使用 AJAX 获取数据。 4. 在 Spring Boot 中编写 Controller 方法来处理 AJAX 请求,并返回数据。 下面是一个简单的示例: 1. 在 HTML 中添加 Select2 控件: ```html <select id="mySelect2"></select> ``` 2. 在 JavaScript 中初始化 Select2 控件,并使用 AJAX 获取数据: ```javascript $(document).ready(function() { $('#mySelect2').select2({ placeholder: '请选择', ajax: { url: '/get-data', dataType: 'json', delay: 250, processResults: function (data) { return { results: data }; }, cache: true }, minimumInputLength: 1 }); }); ``` 3. 在 Spring Boot 中编写 Controller 方法来处理 AJAX 请求,并返回数据: ```java @RestController public class MyController { @Autowired private DataService dataService; @GetMapping("/get-data") public List<Select2Data> getData(@RequestParam("q") String query) { List<Select2Data> data = dataService.getData(query); return data; } } ``` 其中,Select2Data 是一个自定义类,用于存储 Select2 控件中的选项数据。DataService 是一个自定义的服务类,用于从数据库中获取数据。 以上代码仅供参考,具体实现需要根据实际情况进行调整。同时,要注意安全性和错误处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值