纯html编写的三栏穿梭单
支持全选功能
类比于layUi Vue里的 两栏穿梭单
源码
/*
/*
/*
移动按钮状态
*/
function auditBtnStatus() {
debugger
// let ele=$("."+name+"-move .btn")
// ele[index].disabled=!flag
// if(flag){
// ele[index].className=ele[index].className.replace(“btn-disabled”,"")
// ele[index].classList.add(“isActive”)
// }else{
// ele[index].className=ele[index].className.replace(“isActive”,"")
// ele[index].classList.add(“btn-disabled”)
// }
}
/*
移动按钮点击
将before移动到after上
*/
function chooseMoveBtn(before,after) {
/获取before上所有已经点击的按钮/
let obj =document.getElementsByName(before);
let html=’’
let label=’’
let baseHtml=’’
obj.forEach((item)=>{
label=getLabelFromInput(item.outerHTML)
if(item.checked){
html+=<div class="title"> <input type="checkbox" value=${item.value} label=${label} name=${after} onclick="chooseBtn(this,'${after}')"> <div class="label">${label}</div> </div>
}else{
baseHtml+=<div class="title">${item.outerHTML}<div class="label">${label}</div></div>
}
})
$("."+after)[0].innerHTML+=html
/删除 原始目录的html/
("."+before)[0].firstElementChild.outerHTML+baseHtml
}
/*
按钮单单选
*/
function chooseBtn(e,name){
/获取所有按钮状态/
let obj =document.getElementsByName(name);
document.getElementsByName(name+“All”)[0].checked=true
obj.forEach((item)=>{
if(!item.checked){
document.getElementsByName(name+“All”)[0].checked=false
}else{
//高亮移动框
auditBtnStatus(true,name)
}
})
}
/*