|
BeTheBall -> RE: self populating drop down trouble Please Help (5/25/2004 11:39:28)
|
Welcome to Outfront. This does exactly what you want: http://authors.aspalliance.com/thycotic/articles/view.aspx?id=3 Just put this in the <head> section of your page: <script language="JavaScript" type="text/javascript">
function keySort(dropdownlist,caseSensitive) {
// check the keypressBuffer attribute is defined on the dropdownlist
var undefined;
if (dropdownlist.keypressBuffer == undefined) {
dropdownlist.keypressBuffer = '';
}
// get the key that was pressed
var key = String.fromCharCode(window.event.keyCode);
dropdownlist.keypressBuffer += key;
if (!caseSensitive) {
// convert buffer to lowercase
dropdownlist.keypressBuffer = dropdownlist.keypressBuffer.toLowerCase();
}
// find if it is the start of any of the options
var optionsLength = dropdownlist.options.length;
for (var n=0; n < optionsLength; n++) {
var optionText = dropdownlist.options[n].text;
if (!caseSensitive) {
optionText = optionText.toLowerCase();
}
if (optionText.indexOf(dropdownlist.keypressBuffer,0) == 0) {
dropdownlist.selectedIndex = n;
return false; // cancel the default behavior since
// we have selected our own value
}
}
// reset initial key to be inline with default behavior
dropdownlist.keypressBuffer = key;
return true; // give default behavior
}
</script>
Then add the onkeypress event to the select tag, something like this: <select NAME="MyDropDown" SIZE="1" onkeypress="return keySort(this);">
|
|
|
|