select2实现多选 并且回显

html代码:
<select name="ruleId" id="ruleId" class="required" onchange="selectRule()" multiple="multiple" class="form-control">   <c:forEach items="${fns:selectRuleListBycompany()}" var="item">     <option value="${item.id}"       <c:if test="${record.ruleId == item.id}">         selected="selected"       </c:if>>${item.ruleName}     </option>   </c:forEach> </select>

  

js获取全部的值并放入到数组中
window.Garray = new Array(); //定义窗口全局变量数组
function selectRule(obj){ var selected = $("#ruleId").select2('data'); window.Garray = []; for (var i = 0; i < selected.length; i++) {   Garray.push(selected[i].id); }        }
$(function(){
  var arrs = new Array();   var str = "${record.ruleIdList}";   arrs = str.replace('[','').replace(']','').replace(/s/g,'').split(',');   $("#ruleId").val(arrs).trigger("change");
});

  

原文地址:https://www.cnblogs.com/lingduqianli/p/9399710.html