Frage

Ich habe eine if-Anweisung, dass Bedürfnisse wie folgt aussehen: UPDATE

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

Ich versuche, die „eine gewisse Funktion“ Bereich auszuführen nur dann, wenn die Eingangslänge <= 7 und entweder die Enter-Taste gedrückt oder die Schaltfläche „Suchen“ geklickt wird.

Darüber hinaus mag ich diese 2 verschiedenen Funktions Initiatoren kombinieren, so dass sie die gleiche Funktion ausführen, aber nicht wissen, wie es zu tun:

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

  AND 

  $("div#search-button").click(function(){
     FUNCTION A
  };
War es hilfreich?

Lösung

EDIT:

Dies ist, was Sie tun müssen:

  1. Ich gehe davon aus, dass Sie die Textlänge und nicht Anzahl der Textfelder wollen.
  2. Sie wollen functiona auszuführen, wenn Sie die Eingabetaste auf Textbox gedrückt oder Suchtaste angeklickt wird:

     $("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

Andere Tipps

Dies ist, wie ich es tun würde:

$("#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!");
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top