Options with display:none not hidden in IE

后端 未结 10 1018
梦如初夏
梦如初夏 2020-11-27 17:41

I have multiple options in a select. I have sorted the options and disabled and hidden the duplicate options with jquery. The code works well in chrome and firefox but in IE

10条回答
  •  抹茶落季
    2020-11-27 18:24

    sort by disabled options. 
    
    $("#addselect option").each(function (i, val) {
                    if ($(this)[i].disabled) {
                        moveDown("selectId");
                    }
                    else {
                        moveUp("selectId");
                    }
     }
    
       function moveUp(selectId) {
                var selectList = document.getElementById(selectId);
                var selectOptions = selectList.getElementsByTagName('option');
                for (var i = 1; i < selectOptions.length; i++) {
                    var opt = selectOptions[i];
                    if (!opt.disabled) {
                        selectList.removeChild(opt);
                        selectList.insertBefore(opt, selectOptions[i - 1]);
                    }
                }
            }
    
            function moveDown(selectId) {
                var selectList = document.getElementById(selectId);
                var selectOptions = selectList.getElementsByTagName('option');
                for (var i = selectOptions.length - 2; i >= 0; i--) {
                    var opt = selectOptions[i];
                    if (opt.disabled) {
                        var nextOpt = selectOptions[i + 1];
                        opt = selectList.removeChild(opt);
                        nextOpt = selectList.replaceChild(opt, nextOpt);
                        selectList.insertBefore(nextOpt, opt);
                    }
                }
            }
    

提交回复
热议问题