Динамически скрывать выбранное значение в опции выбора (проблема с производительностью)

#javascript #jquery

#javascript #jquery

Вопрос:

По сути, я ищу, как улучшить мой текущий код, который позволяет скрывать параметры из выпадающего списка выбранных элементов. Приведенный ниже код работает, когда пользователь выбирает опцию, он скрывает выбранное значение во всех выпадающих списках. Но я столкнулся с одной проблемой, которая заключается в том, что когда в выпадающем списке больше 100, это вызовет проблему с задержкой, когда пользователь выбирает значение параметра.

введите описание изображения здесь

 $( ".firstname").on('change',function() {

   $('.firstname option').prop('disabled',false);//enable all options //n
            $('.firstname option').show();//show all options //n
            $('.firstname option:selected').each(function(index){// disable and hide all of the current selected values from other select boxes //1  to select boxes n
                let value = $(this).val();
                if(value !== '-1'){
                    $('.firstname option[value=' value ']').prop('disabled',true);//disable all with same value //select boxes n
                    $('.firstname option[value=' value ']').hide();//hide them //select boxes n
                    $(this).prop('disabled',false);//re-enable the current one //1
                    $(this).show();//and show it //1
                    $(this).prop('selected',true);//just to be sure re-select the option afterwards //1
                }
            });
});