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