JavaScript И Списка Удаление Элемента


У меня есть простая страница aspx со списком, текстовым полем и кнопкой. Список загружается в событии page_load с 40 или около того элементов.

Кнопка запускает следующий javascript, который должен удалить любой элемент списка, который не содержит значение, введенное пользователем в текстовом поле. По сути, это должен быть инструмент поиска.

Проблема в том, что он удаляет только примерно половину элементов, которые он должен. Я должен нажать кнопку, как 4 раза, чтобы, наконец, получить результаты, которые я должен был получить с первого клика. Вот функция:

function Search()
{
var strSearch = document.getElementById("<%= txtSearch.clientID %>").value;
var lstRsns = document.getElementById("<%= lstReasons.clientID %>");
var Temp;
var i;

for(i=0;i<lstRsns.options.length;i++)
    {
    Temp = lstRsns.options[i].text.toUpperCase();
    if (Temp.indexOf(strSearch.toUpperCase()) == -1)
        {
        lstRsns.remove(i);
        }            
    }
}

Что я делаю не так? Похоже, это должно сработать.

Спасибо за любые / все советы,

Джейсон

1 2

1 ответ:

Список продолжает сокращаться по мере удаления элементов.. просто делайте lstRsns.remove(0); в цикле, пока не попадете в тот, который вы ищете, и после этого lstRsns.remove(1);.