select2动态查询及多选

引入select2.min.js和select2.css

<link rel="styleSheet" href="./plugin/select2/css/select2.css" type="text/css">
<script src="./plugin/select2/js/select2.min.js"></script> 

html部分:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css"> 
</style>

</head>
<body>

      <div class="col-md-10" style="margin-top: 20px;">
            <div style="width:110%;text-align:left;color: gray;border-bottom: 2px solid #df5f4a;"><p style="font-weight: bold;
        font-size: 14px;">select2示例页面</p></div>
            <br>
        </div>


  <div  class="page-title col-md-10" style="z-index:-1;margin-top: 5px;" placeholder>
     <span>单选</span>
  </div>
   
<div  class="col-md-10">
   <select style="width:70%;overflow:visible;" class="js-data-example-ajax" placeholder="Search W3School">  
   </select>
</div>

<div class="page-title col-md-10" style="z-index:-1">
     <span>多选</span>
  </div>

<div  class="col-md-10">
   <select style="width:70%;overflow:visible;" class="js-data-example-ajax" multiple>  
   </select>
</div>

</body>

<script type="text/javascript">

</script>
</html>

 核心代码:

$("select.js-data-example-ajax").each(
        function() {
            var $this = $(this);
            $this.select2({
                placeholder: "请输入关键字",
                language : "zh-CN",// 指定语言为中文,国际化才起效
                allowClear: true,
                ajax : {
                    url :url,
                    dataType : 'json',
                    delay : 250,// 延迟显示
                    data : function(params) {
                        return {
                            id : params.term, // 搜索框内输入的内容,传递到Java后端的parameter为username
                            page : params.page,// 第几页,分页哦
                            rows : 10// 每页显示多少行
                        };
                    },
                    beforeSend: function(request) {
                         request.setRequestHeader("Authorization","Arch6WithCloud "+localStorage.getItem("JSESSIONID"));
                    },
                    // 分页
                    processResults : function(data, params) {
                        params.page = params.page || 1;

                        return {
                            results : data.data,// 后台返回的数据集
                            pagination : {
                                more : params.page < data.total// 总页数为10,那么1-9页的时候都可以下拉刷新
                            }
                        };
                    },
                    cache : false
                },
                escapeMarkup : function(markup) {
                    return markup;
                }, // let our custom formatter work
                minimumInputLength : 0,// 最少输入一个字符才开始检索
                templateResult : function(repo) {// 显示的结果集格式,这里需要自己写css样式,可参照demo
                    // 正在检索
                    if (repo.loading)
                        return repo.text;

                    var markup = "<table class='select2-result-repository clearfix'>" 
                    + "<tr>"
                    + "<td style='word-break:break-all;' width='300px'>" + repo.code + "</td>"
                    + "<td width='400px' align='center' >" + repo.value + "</td>"
                    + "</tr>"
                    + "</table>"
                    ;

                    return markup;
                }, 
                templateSelection : function(repo) {
                    if(repo.code==undefined||repo.value==undefined){
                        return "请输入关键字";  
                    }else{
                         return repo.code||repo.value;
                    }
                }// 列表中选择某一项后显示到文本框的内容
             });

             });

 controller:

@RestController
@RequestMapping("/sdd/code")
public class StuApi extends BaseApi {
    @Autowired
    StuService userService;     
        
    @RequestMapping(value = "/queryList")
    @ResponseBody
    public ApiResponse queryList(HttpServletRequest request) throws IOException {
        String uid=request.getParameter("id");
        List<SddCode> users = new ArrayList<SddCode>();
        users = sddCodeService.queryList(uid);
        
        ApiResponse response = new ApiResponse();
        
        response.setData(users);
        
        return response;
     }    
}

 

  

 

转载于:https://www.cnblogs.com/5588kjx/p/9303849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值