需求是对于多选框选中的选项做处理,列表展示出来,还能进行操作。
具体需求如下:
解决办法主要参考文档:https://hnzzmsf.github.io/example/example_v4.html#methods-closed
但是文档的获取当前select已选中的值,出现了问题,总是比实际选中的值少一个,原因没有找到
//4.0.0.0813版本之前, 受到了颇多的小伙伴吐槽, 此版本加上了获取实时数据的方法
formSelects.on('select1', function(id, vals, val, isAdd, isDisabled){
//id: 点击select的id
//vals: 当前select已选中的值
//val: 当前select点击的值
//isAdd: 当前操作选中or取消
//isDisabled: 当前选项是否是disabled
}, true);
最后采用可以使用的val的方法,每次选中的就新增一列数据项
formSelects.on('clubIdList', function(id, vals, val, isAdd, isDisabled){
var html=''
if (isAdd == true){
html += '<div class="couponSelected">' +
'<span id="'+val.val+'">'+val.name+'</span>'+
'<i class="layui-icon"></i><input class="text">'+
'</div>'+
'<div class="clearFloat"></div>';
$('.coupon .html').append(html);
}else if (isAdd == false){
$('.coupon .html').find('span').each(function(){
if (val.val == $(this).attr('id')){
$('#'+val.val+'').parent().remove();
}
});
}
}, true);
.couponSelected{
height: 25px;
line-height: 30px;
margin: 10px 0;
}
.couponSelected > input,
.couponSelected > i{
float: right;
}
.couponSelected > span{
line-height: 25px
}
.couponSelected > input{
height: 25px;
border: 1px solid rgb(236, 239, 249);
width: 50px;
}
.clearFloat{
clear: both;
}
全选,反选,情况皆可适用。