前端
html
<input type="hidden" id="隐藏input的id" name="btroleval" value="${obj.roleid}">
<div class="layui-input-inline">
<select name="btrole" lay-filter="btrole" lay-search="" lay-verify="required"
xm-select-show-count=1 xm-select="多选下拉框的id" xm-select-type="1" >
<option value="">直接选择</option>
</select>
</div>
js(写在layui的funcion里,单独渲染,不以组件的形式出现)
var formSelects = layui.formSelects;
//获取角色已选数组的字符串
var lis = $("#隐藏input的id").val();
//将字符串分割成字符串数组
var lisarr = lis.split(",");
formSelects.config('formSelects的id',{
type: "post",
linkage: true,
linkageWidth: 130,
searchUrl: '', //搜索地址, 默认使用xm-select-search的值, 此参数优先级高
/* searchName: '', //自定义搜索内容的key值
searchVal: '', //自定义搜索内容, 搜素一次后失效, 优先级高于搜索框中的值 */
keyName: 'text', //搜索框中的内容
keyVal: 'id', //自定义返回数据中value的key, 默认 value
keySel: 'btrole', //自定义返回数据中selected的key, 默认 selected
delay: 500, //搜索延迟时间, 默认停止输入500ms后开始搜索
direction: 'auto', //多选下拉方向, auto|up|down
response: {
statusCode: 0, //成功状态码
statusName: 'code', //code key
msgName: 'msg', //msg key
dataName: 'data' //data key
},
success: function(id, url, searchVal, result){
//已选数据的回显
formSelects.value('btrole',lisarr,true);
},
clearInput: false, //当有搜索内容时, 点击选项是否清空搜索内容, 默认不清空
}).data('btrole','server',{
url: '<%=request.getContextPath()%>显示信息的路径'
});