У меня есть раскрывающееся меню, которое создается с помощью javascript и html. У меня есть код, который я буду размещать ниже, который проходит через этот список и должен потенциально удалить любые пустые строки, но не работает. «$ maxfield1rows» имеет значение 7, я говорю, что если значение пустое (== ''), то удалите его. Я использовал removeChild, но это, похоже, не работает, я также попробовал сращивание, я думаю, фильтр может работать, но я не уверен. Я попробовал отключить = true, но это просто делает их отключенными и невыбираемыми. Кто-то может помочь?Как удалить пустые строки в массиве, сгенерированном в раскрывающемся списке
for(index=1; index<$maxfield1rows; index++) {
if(document.pickDivision.field1.options[index].value=='') {
document.pickDivision.field1.removeChild(document.pickDivision.field1.options[index]);
}
}
Обновлен ниже, я использую $ maxfield1rows, так что сумма максимального количества строк, цикл проходит, также в результате изменения я имел в виду, что есть OnChange событие, которое получает срабатывает, когда пользователь выбирает другой вариант в раскрывающемся меню, так что в зависимости от выбранного варианта вывода для FIELD1 изменений, иногда 5 значений, которые показывают, а иногда и просто 1:
for(index=$maxfield1rows-1; index>=0; index--) {
alert(document.pickDivision.field1.options[index]);
if(document.pickDivision.field1.options[index].value==''){
document.pickDivision.field1.removeChild(document.pickDivision.field1.options[index]);
document.pickDivision.field1.options[index].disabled=true;
}
else{
document.pickDivision.field1.options[index].disabled=false;
}
}
Если вы делаете 'console.log ('а' + document.pickDivision.field1.options [индекс] .value + 'б')', есть пространство между а и Ь или нет пространство? – Kyle
Кроме того, перемещение вперед через массив параметров и удаление элементов вызовет проблему в некоторых (если не все) браузерах. Когда этот элемент удален, он по существу удаляется из коллекции 'options'. Это приведет к тому, что ваш следующий элемент не будет находиться в одном месте индекса. – Kyle
Между a и b нет пробела. – niceguy