Limpar valor de uma variável
Estou com um problema com um autocompletar.
Ele não está resetando a variável que define em qual posição está o item selecionado anteriormente.
Por exemplo se faço a busca seleciono o terceiro item da lista, quando volto a fazer a segunda busca o item selecionado na lista que aparece é o terceiro e não o primeiro.
As variáveis 'selectDiv' e this.point não estão resetando. Como faço par dar um clear nelas.
Se alguém puder ajudar.
segue o script javascript:
<script type="text/javascript">
//------------------------------------
function autocomplete( inputname, containerId ) {
var ac = this;
this.textbox = document.getElementById(inputname);
this.div = document.getElementById(containerId);
this.list = this.div.getElementsByTagName('li');
this.pointer = null;
this.textbox.onkeydown = function( e ) {
e = e || window.event;
switch( e.keyCode ) {
case 38: //up
ac.selectDiv(-1);
break;
case 40: //down
ac.selectDiv(1);
break;
}
}
this.selectDiv = function( inc ) {
if( this.pointer !== null && this.pointer+inc >= 0 && this.pointer+inc < this.list.length ) {
this.list[this.pointer].className = '';
this.pointer += inc;
this.list[this.pointer].className = 'active';
this.textbox.value = this.list[this.pointer].innerHTML;
}
if( this.pointer === null ) {
this.pointer = 0;
this.list[this.pointer].className = 'active';
this.textbox.value = this.list[this.pointer].innerHTML;
}
}
}
new autocomplete( 'procedimento', 'txtHint' );
//------------------------------------
</script>Discussão (1)
Carregando comentários...