#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 Ты сказал, что хочешь обновить скрытое поле всеми значениями!?