select2 (形式1)

select2 (方式1)

----------js-----------

$(document).ready(function() {     
    $("#userId").select2({
        placeholder: "SELECT A MEMBER",
        width:"200px",
        allowClear:true,
        query:searchUser,
     dropdownAutoWidth:true,
     dropdownCssClass:'dropdown',
        formatResult: formatUser,
        formatSelection: formatSelectionUser
      });
      $("#userId").on("change",
     function (e) {
        var user = getSelect2("userId");
      });
 
   });

 

function getSelect2(id){
  return  $("#"+id).select2("data");
 }
 
 function formatUser(state) {  
     var result = "<table class='getUser' style='width: 200px' ><tr><td>"+state.text+"</td></tr></table>";
     return result;
 }
 function formatSelectionUser(state) {  
     return state.text;
 }
 function searchUser(query) {
  var queueId = "";//$("#queues").val();
  var queue = getSelect2("queueId");
  if(queue != null && queue != ""){
   queueId = queue.id;
  }
  var teamId = $("#team").val();
  $.ajax({
   url: base + "/ajax/getUsersByName",
   async: true,
   type : "get",  
   dataType : "json",
   data: {"time": new Date().getTime(),"userName":query.term,"queueId":queueId,"teamId":teamId},
   success: function(data){
     query.callback({results: data});
   }
  });
 } 

 

------------html---------------------

<input id="userId" name="userId" />

 

 

-------------------java-------------------

 @RequestMapping(value="/getQueuesByName",method=RequestMethod.GET)
    @ResponseBody
    public JSONArray getQueuesByName(String queueName){
       JSONArray result = new JSONArray();
       try {
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("queueName", queueName);
           List<Queue> list = utilService.getQueuesByName(map);
           JSONObject object = null;
           if(list != null && list.size() > 0)
            for(int i=0;i<list.size();i++){
             object = new JSONObject();
             object.put("id",list.get(i).getId());
             object.put("text", list.get(i).getName());
             result.add(object);
            }
       }catch (Exception e) {
        e.printStackTrace();
           logger.error(e.getMessage());
       }
       return result;
    }