Удаление элементов Javascript и Listbox - PullRequest
2 голосов
/ 21 июля 2011

У меня есть простая страница 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 голосов
/ 21 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...