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;
     }    
}

 

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM