Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2009, 11:32
proger
 
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Problema: Funciona en Firefox3 pero no en IE7

Buenas..

Como dice el titulo, esta funcion funciona en firefox pero no en Explorer... no logro entender porque. Es una funcion que hace el auto completar en un input text, les dejo el codigo, aver si me pueden ayudar:

Código Javascript:
Ver original
  1. function autocom(evento) {
  2.     var let=$('#sd_user').val();
  3.     if (let=='') $('#autodiv').css('display','none');
  4.     else {
  5.         $.ajax({
  6.             type: 'GET',
  7.             url: '/motors/m-autocom.php',
  8.             cache: false,
  9.             data: '&let='+let,
  10.             success: function(h) {
  11.                 var cant=h.substr(0,1);
  12.                 $('#autodiv').css('display','block');
  13.                 $('#autodiv').html(h.substr(1));
  14.                 if(nav_key(evento,cant)==1){
  15.                     reset_selec();
  16.                 }
  17.             }
  18.         });
  19.     }
  20. }
  21.  
  22. function nav_key(evento,cant) {
  23.     var tec=(document.all) ? evento.keyCode : evento.which;
  24.     var b_color='#CCC';
  25.    
  26.     switch(tec) {
  27.         case 40:
  28.             if(selec<cant) {
  29.                 selec++;
  30.                 $('#adiv'+selec).css('background-color',b_color);
  31.             }
  32.             else if(selec==cant) {
  33.                 $('#adiv'+selec).css('background-color',b_color);
  34.             }
  35.             return 0;
  36.        
  37.         case 38:
  38.             if(selec>1) {
  39.                 selec--;
  40.                 $('#adiv'+selec).css('background-color',b_color);
  41.             }
  42.             else if(selec==1) {
  43.                 $('#adiv'+selec).css('background-color',b_color);
  44.             }
  45.             return 0;
  46.        
  47.         case 13:
  48.             if(selec!=0) {
  49.                 $('#autodiv').css('display','none');
  50.                 $('#sd_user').val($('#aspan'+selec).html()+$('#bspan'+selec).html());
  51.             }
  52.             return 0;
  53.        
  54.         default: return 1;
  55.     }
  56. }

lo que no funciona es la nav_key(), que basicamente lo que hace es ir seleccionando los divs a medida que se apreta la flecha para abajo o para arriba.

el archivo motors/m-autocom.php devuelve algo asi:
Código HTML:
Ver original
  1. X<div id="adiv1">palabra1</div>
  2. <div id="adiv2">palabra2</div>
  3. <div id="adiv3">palabra2</div>

donde X es la cantidad de palabras que hay (en el ejemplo seria 3)

desde ya gracias...