//multiselect option
$("#target").multiselect({
onDropdownShow:function(){
 setMultiselectChange(this)
},
onDropdownHide:function(){
 if(getMultiselectChange(this)){
 //호출할 함수
 }
},
});



_multiselectorChange = [];
function setMultiSelectChange(multiSelector){
 //global
 _multiselectorChange = [];
 try{
  if(!!multiSelector.$select.val()){
   _multiselectChange = [...multiSelector.$select.val()];
   if(_multiselectChange.length == multiSelector.$select[0].lenght){
    _multiselectChange = [];
   }
  }
 } catch(err){
  console.error(err);
 }
}

//multiselect change value check
function getMultiselectChange(multiSelector){
 let tf = false;
 try{
  //multi select check
  if(!!multiSelector.$select.val()){
   let originArr = _multiselectChange;
   let newArr = [..._multiSelector.$select.val()]
   if(newArr.length == multiSelector.$select[0].length){
    newArr = []
   }
   if(originArr.join('')!==newArr('')){
    tf = true;
   }
  }else{
   //filter check
   if(!!multiSelector.query){
    if(_multiselectChange.length > 0 ){
     tf = true;
    }
   }else{
    if(_multiselectChange,length > 0){
     tf = true;
    }
   }
  }
 } catch(err){
  console.error(err);
 }
 return tf;
}

멀티 셀렉트에서 체크박스를 누를때마다 하위 함수가 호출되는걸 방지하고 선택후 셀렉트 창이 사라지면 하위 함수 호출하도록 변경

'jquery' 카테고리의 다른 글

echart stacked bar Chart value total  (0) 2024.06.15
<tr>에서 get value() 벨류값 가져오기  (0) 2019.05.22
jQuery 선택자  (0) 2018.10.14
제이쿼리 소개  (0) 2018.10.14
jquery Json date read  (0) 2018.10.14

+ Recent posts