Выберите функцию удаления опции

#javascript #drop-down-menu

#javascript #выпадающее меню

Вопрос:

Предполагается, что следующая функция удалит выбранное значение из поля выбора и обновит скрытое поле всеми значениями.

У меня с этим две проблемы: допустим, у меня есть следующие опции в поле выбора: 1071,1000,1052 После удаления первой опции (1071) скрытое поле получает значение 1052,1000,1000 ,

если я удалю вторую опцию, (1000) скрытое поле будет, 1052,1052,1071 если я удалю третью (1052) , я получу options[...].value is null or not an object

Может кто-нибудь, плз, помочь мне исправить это?

 function removeOptions() {
    var selectbox = document.getElementById('zipcodes');
    var zipcodes = document.getElementById('zip');
    var tmpArray = [];
    var i;
    for (i = selectbox.options.length - 1; i >= 0; i--) {
        if (selectbox.options[i].selected){
            selectbox.remove(i);
        }
        tmpArray.push(selectbox.options[i].value);
    }
    zipcodes.value = tmpArray.join(',');

}
  

Ответ №1:

Предполагая, что вам не нужно выбранное значение в hidden value, поместите часть для ввода в tmpArray в else part

     if (selectbox.options[i].selected){
                selectbox.remove(i);
    }else{
            tmpArray.push(selectbox.options[i].value);
    }
  

Комментарии:

1. @Raphael Ты сказал, что хочешь обновить скрытое поле всеми значениями!?