springboot Jquery select2 后端获取数据 完整示例
时间: 2023-10-31 16:27:03 浏览: 102
springboot实例2
好的,下面是一个完整的示例:
首先,前端需要引入 jQuery 和 Select2 的依赖:
```
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/css/select2.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/js/select2.min.js"></script>
```
在 HTML 中定义一个 Select2 的下拉框:
```
<select id="mySelect" class="form-control"></select>
```
然后,通过 jQuery 调用 Select2 插件:
```
$(document).ready(function() {
$('#mySelect').select2({
ajax: {
url: '/getData', // 后端获取数据的接口地址
dataType: 'json',
delay: 250,
data: function(params) {
return {
q: params.term, // 搜索关键字
page: params.page // 分页参数
};
},
processResults: function(data, params) {
params.page = params.page || 1;
return {
results: data.items, // 后端返回的数据
pagination: {
more: (params.page * 10) < data.total_count // 是否还有更多数据
}
};
},
cache: true
},
placeholder: '请选择', // 未选择时的提示文本
minimumInputLength: 1 // 最少输入字符数
});
});
```
后端接口代码示例(使用 Spring Boot):
```
@RestController
public class MyController {
@GetMapping("/getData")
public Map<String, Object> getData(@RequestParam("q") String query,
@RequestParam("page") int page) {
// 根据搜索关键字和分页参数获取数据
List<Object> items = new ArrayList<>();
int total_count = 100; // 总记录数
Map<String, Object> result = new HashMap<>();
result.put("items", items);
result.put("total_count", total_count);
return result;
}
}
```
以上就是一个完整的 Spring Boot + jQuery + Select2 后端获取数据的示例。
阅读全文