Pregunta

Tengo una sentencia if que las necesidades a este aspecto: ACTUALIZACIÓN

 $("input#textbox").keypress(function(e){
    key==e.which;
    if($("input#textbox").length <=7 && (key===13 || $("div#search-button").click())){
       /////SOME FUNCTION////
    };
 });

Estoy intentando ejecutar el área de "alguna función" sólo si la longitud de entrada es <= 7 y, o bien el botón ENTER se pulsa o la "búsqueda" se hace clic en el botón.

Además, quiero combinar estos 2 iniciadores de función diferentes para que ejecuten la misma función, pero no saben cómo hacerlo:

  $("input#textbox").keypress(function(e){
     FUNCTION A
  };

  AND 

  $("div#search-button").click(function(){
     FUNCTION A
  };
¿Fue útil?

Solución

EDIT:

Esto es lo que tiene que hacer:

  1. Estoy asumiendo que desea que la longitud del texto y no el número de cuadros de texto.
  2. Usted desea ejecutar funciónA cuando se pulsa ENTER en el cuadro de texto o botón de búsqueda se hace clic en:

     $("input#textbox").keypress(function(e){
        key==e.which;
        if (key === 13) // if enter is pressed
        {
           if ("#textbox").val().length >= 7) //if textbox has more than 7 characters
           {
               functionA();
           }
        }
     });
     $("div#search-button").click(function(){ functionA();});

HTH

Otros consejos

Esta es la forma en que lo haría:

$("#search-button").click(function(){
    $("#textbox").keypress(function(e,clicked){
        (clicked || e.which===13) && $(this).val().length < 8 && functionA();
    }).trigger("keypress",[true]);
});
function functionA(){
    alert("hey!");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top