автоматический поиск значений в listbox или dropdownlist
От: Kirkin  
Дата: 19.08.04 11:56
Оценка:
в listbox и dropdownlist при вводе значения в область ввода, происходит автоматический поиск по массиву значений компонента только по первому символу вводимого значения, можно ли сделать поиск не только по первому символу, а по всем вводимым. Какой метод необходимо перекрыть? Подскажите, пожалуйста!!!!!
Re: автоматический поиск значений в listbox или dropdownlist
От: AndreyFil Россия  
Дата: 19.08.04 12:28
Оценка:
Здравствуйте, Kirkin, Вы писали:

Можно сделать через htc. Но на это может уйти довольно много времени.
GDN: Re: автоматический поиск значений в listbox или dropdow
От: Аноним  
Дата: 19.08.04 13:16
Оценка:
Можно попробовать двигаться в этомнаправлении


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: GDN: Re: автоматический поиск значений в listbox или dro
От: cadet354 Россия
Дата: 19.08.04 14:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Можно попробовать двигаться в этомнаправлении


А>
данное сообщение получено с www.gotdotnet.ru

А>ссылка на оригинальное сообщение

Понравился вот этот пример:
<html>
<head>
<script>
var options = ["Abe","Alice","Alicia","Allen","Anthea","Anthony","Arthur","Arnold","Arty","Beatrice","Ben","Bill","Bing","Brian","Brittany","Bruce","Buzz","Carie","Catherine","Cathy","Charles","Chase","Chris","Christian","Christina","Christopher","Clay","Clayton","Daniel","Danny","Darren","Darryl","Darwin","David","Dean","Derrick","Dinah","Don","Doug","Eathen","Ed","Edward","Edwin","Evan","Forrest","Frank","Fritz","Gary","George","Glenn","Greg","Hank","Hellen","Henry","Imus","Ingred","Jack","Jack Club","Jack Diamond","Jack Heart","Jack Spade","Jackie","Jacob","James","Jason","Jean-Luc","Jerry","Jesus","Jim","John","Katlyn","Kayla","Kendra","Kyle","Lance","Larry","Leah","Lenny","Luke","Mallory","Mandy","Mark","Mary","MaryAnn","Matthew","Michael","Michele","Mickey","Mike","Mitch","Nathan","Ned","Olive","Ollie","Oppie","Pat","Paul","Perry","Peter","Phil","Phillip","Rachael","Ralph","Randall","Randy","Rebekah","Red","Rex","Rick","Ried","Robert","Rodney","Roger","Sally","Sam","Sharon","Sidney","Stephen","Steve","Stuart","Ted","Terry","Theodore","Theresa","Thomas","Tim","Tom","Val","Van","Vince","Wayne","Will","William","Wink","Woody","X","Yoda","Zack","Ziggy","Zurg"]
var str = ""
var slt = false

function getList() {
rows = 0;
for (i=document.fmTest.the_sel.options.length-1; i>=0; i--)
document.fmTest.the_sel.options[i] = null
for (i=0;i<options.length;i++) {
if (str.length == 0 || options[i].toLowerCase().indexOf(str.toLowerCase()) == 0) {
document.fmTest.the_sel.options[document.fmTest.the_sel.options.length] = new Option(options[i],options[i])
rows++
}
}
rows = rows>10 ? 10 : rows // restrict the rows no more than 10
document.fmTest.the_sel.size = rows
}

document.onkeyup = function(e){
var k = (e) ? e.which:event.keyCode;
if (slt) {
if (k==8) // Backspace
str = str.substring(0,str.length-1)
else
str += String.fromCharCode(k)
getList()
}
}
</script>
</head>
<body onload="getList()">
<form name="fmTest">
<select name="the_sel" size="8" onfocus="slt=true" onblur="slt=false">
</select>
</form>
</body>
</html>
но при нажатии Backspace если фокус не в селекте (или например селект пуст (два раза d нажать) то происходит переход на предыдущию страницу (с которой пришли на эту).Почему вроде document.onkeyup должен весь ввод получать, пробывал в отладчике, так он туда и не попадает.
Я понимаю, что тема больше подходит для веб-программирование, но раз здесь начали обсуждение...
Re[2]: GDN: Re: автоматический поиск значений в listbox или
От: Kirkin  
Дата: 20.08.04 04:38
Оценка:
Дело в том что алгоритм поиска написать можно, но для этого в asp.net компоненте нужно найти
метод который за это отвечает и перекрыть его, при всем при этом хотелось чтобы поиск осуществлялся
на стороне клиента,
а не на стороне сервера, если кто может, подскажите какое событие или метод нужно перекрыть
и реально ли решить такую задачу, или проще будет
написать свой собственный компонент, что займет очень много времени.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.