2011-07-21 4 views
2

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

Кнопка запускает следующий 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); 
     }    
    } 
} 

Что я делаю неправильно? Кажется, это должно сработать.

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

Джейсон

ответ

2

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

+0

Благодарим за это - только проблема заключалась в том, что в результатах может быть несколько совпадений. Поэтому я просто положил «i = i - 1» под lstRsns.remove (i); код. Не мог подумать, что один, спасибо !!! –

Смежные вопросы