Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Metodo not() no me funciona

Estas en el tema de Metodo not() no me funciona en el foro de Frameworks JS en Foros del Web. Hola Amigos!!! por medio de este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ( document ) . ready ( function ( ) { ...
  #1 (permalink)  
Antiguo 07/11/2011, 08:12
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 14 años, 1 mes
Puntos: 4
Metodo not() no me funciona

Hola Amigos!!!
por medio de este codigo
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    $('input:text,input:button,input:password,input:file').live('keydown', function(e) {
  3.         if (e.keyCode == 40 ){
  4.            
  5.                 var inputs = $(this).parents('form').find('input:text,input:password,input:button,input:file,select').not('input:hidden,input:disabled');
  6.                
  7.                 var idx = inputs.index(this);
  8.                 if (idx == inputs.length - 1) {
  9.                         //inputs.eq( idx +1).focus();
  10.                        inputs.eq( idx = 0).focus();
  11.                 } else {
  12.                         inputs[idx + 1].focus(); //  handles submit buttons
  13.                        
  14.                 }
  15.                 return false;
  16.         }
  17. });
  18. })
salto de input con la flecha pero le agregue el not() para que ciertos input los ignore, ahira lo que nececito es que ignore un input con la clase busqueda pero no me lo toma
Código Javascript:
Ver original
  1. var inputs = $(this).parents('form').find('input:text,input:password,input:button,input:file,select').not('input:hidden,input:disabled,.busqueda');
saludos y muchas gracias por su tiempo
  #2 (permalink)  
Antiguo 08/11/2011, 07:44
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Metodo not() no me funciona

queres que saltee de un elemento con clase busqueda al siguiente?

Código HTML:
Ver original
  1.     <head>
  2.         <title>Pruebas</title>
  3.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
  4.     <script>
  5.     $( function(){
  6.  
  7.        var inputs = $(":text, :file, :button, textarea", '#formulario');
  8.        inputs.live('keydown', function(e) {
  9.             if (e.keyCode == 40 ){
  10.                 var $this = $(this);
  11.  
  12.                 if($this.index() == inputs.length - 1)
  13.                     inputs.eq(0).focus();
  14.                 else
  15.                     saltear($this.next()).focus();
  16.  
  17.                 return false;
  18.             }
  19.        });
  20.  
  21.        function saltear(el){
  22.             if(el.is('.busqueda, :disabled')){
  23.                 return saltear(el.next());
  24.             }
  25.             return el;
  26.        }
  27.  
  28.     });
  29. </head>
  30.     <form id="formulario">
  31.         <input type="text" />
  32.         <input type="text" />
  33.         <input type="text" disabled="disabled" value="disabled" />
  34.         <input type="text" class="busqueda" value="busqueda" />
  35.         <textarea>textarea</textarea>
  36.         <input type="file" />
  37.         <input type="button" value="boton" />
  38.     </form>
  39. </body>
  40. </html>
  #3 (permalink)  
Antiguo 08/11/2011, 07:58
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Metodo not() no me funciona

Hola Dany_s muchas gracias por tu respuesta pero me sigue sin funcionar pero es porque lo estoy haciendo mal
vuelvo a explicarlo
estoy usando autocomplete de jquery ui , entonces cuando tengo foco en el input con la clase busqueda y uso el autocomplete , cuando quiero seleccionar algo que se genero de la busqueda voy hacia el elemento con la flecha para abajo del teclado y como la estoy usando para saltar de campo , antes de seleccionar algo me salta de campo automaticamente sin poder seleccionar nada, por eso queria que hacer esto ultimo pero tampoco me funciona
saludos!!!
  #4 (permalink)  
Antiguo 08/11/2011, 08:20
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Metodo not() no me funciona

Código Javascript:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Pruebas</title>
  4.         <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
  5.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
  6.     <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
  7.     <script>
  8.     $( function(){     
  9.         var availableTags = ["ActionScript","AppleScript","Asp","BASIC","C","C++","Clojure"];
  10.         $(".busqueda" ).autocomplete({
  11.             source: availableTags
  12.         });
  13.        var inputs = $(":text, :file, :button, textarea", '#formulario');
  14.        inputs.live('keydown', function(e) {
  15.            if($(this).is(".ui-autocomplete-input")) return true;
  16.            else{
  17.                 if (e.keyCode == 40 ){
  18.                     var $this = $(this);
  19.      
  20.                     if($this.index() == inputs.length - 1)
  21.                         inputs.eq(0).focus();
  22.                     else
  23.                         saltear($this.next()).focus();
  24.      
  25.                     return false;
  26.                 }
  27.             }
  28.        });
  29.  
  30.        function saltear(el){
  31.             if(el.is('.busqueda, :disabled')){
  32.                 return saltear(el.next());
  33.             }
  34.             return el;
  35.        }
  36.  
  37.     });
  38. </script>
  39. </head>
  40. <body>
  41.     <form id="formulario">
  42.         <input type="text" />
  43.         <input type="text" />
  44.         <input type="text" disabled="disabled" value="disabled" />
  45.         <input type="text" class="busqueda" value="Autocompletar" />
  46.         <textarea>textarea</textarea>
  47.         <input type="file" />
  48.         <input type="button" value="boton" />
  49.     </form>
  50. </body>
  51. </html>
  #5 (permalink)  
Antiguo 08/11/2011, 08:34
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Metodo not() no me funciona

como el anterior mensaje, compruebas con el método is()

¿y poqué no usas la tecla tab que en realidad es para pasar el foco al siguiente campo? y con shift+tab al anterior


a mi me rompe las pelotas cuando me piden que con enter pase al siguiente campo jeje una de las pequeñas cosas que me irrita mucho jeje
  #6 (permalink)  
Antiguo 08/11/2011, 10:51
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Metodo not() no me funciona

Cita:
a mi me rompe las pelotas cuando me piden que con enter pase al siguiente campo jeje una de las pequeñas cosas que me irrita mucho jeje
tenes toda la razon
voy a probar el codigo de chicohot20
saludos y Muchas gracias por todo!!!
  #7 (permalink)  
Antiguo 08/11/2011, 10:57
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Metodo not() no me funciona

Perfecto!!!!!
me que asi
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $(':text,:button,:password,:file').live('keydown', function(e) {
  3.     if($(this).is(".ui-autocomplete-input")) return true;
  4.            else{
  5.         if (e.keyCode == 40  ){
  6.            
  7.                 var inputs = $(':text,:password,:button,:file,select').not(':hidden,:disabled');
  8.                 var idx = inputs.index(this);
  9.                 if (idx == inputs.length - 1) {
  10.                         //inputs.eq( idx +1).focus();
  11.                        inputs.eq( idx = 0).focus();
  12.                 } else {
  13.                         inputs[idx + 1].focus(); //  handles submit buttons
  14.                        
  15.                 }
  16.                 return false;
  17.         }
  18.            }
  19. });
  20.  
  21. })
saludos y Gracias nuevamente

Etiquetas: metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:20.