2013-03-14 7 views
14

Ich habe zwei Schaltflächen in einem Formular und möchte überprüfen, welche geklickt wurde. Alles funktioniert mit Radiobuttons fein:jQuery: Überprüfen Sie, ob die Schaltfläche geklickt wird

if($("input[@name='class']:checked").val() == 'A') 

Auf einfachen Knopfdruck allen Absturz vor.

Danke!

+5

Beitrag den Code für besuchen können, was Sie versucht haben, bereits. – SteveP

Antwort

3
jQuery(':button').click(function() { 
    if (this.id == 'button1') { 
     alert('Button 1 was clicked'); 
    } 
    else if (this.id == 'button2') { 
     alert('Button 2 was clicked'); 
    } 
}); 

BEARBEITEN: - Dies wird für alle Tasten funktionieren.

+0

Meine Versuche: if ($ ("input [@ name = 'senden']: geklickt"). Val() == 'button') $ ("input [type = 'button']")). click (function() { alert ("Knopf mit der ID:" + $ (this) .attr ("id") + "wurde geklickt!"); }); Das funktioniert aber nicht gut für mich, ich habe mehr Tasten nicht nur eine, so dass ich es unterscheiden muss. Ich habe eine Menge Code ausprobiert und Probleme mit einigen, weil ich es nicht in if-Anweisung setzen kann, weil nicht sicher, was ist die Rückkehr wahr oder 1 oder nichts (alles versucht). Ich suche nach der einfachsten und ähnlichsten Lösung, die ich für Radioknöpfe habe. – hobok

+0

poste deinen Code. mit html –

+0

@hobok: - Siehe die aktualisierte Antwort .. – Pranav

35
$('#submit1, #submit2').click(function() { 
    if (this.id == 'submit1') { 
     alert('Submit 1 clicked'); 
    } 
    else if (this.id == 'submit2') { 
     alert('Submit 2 clicked'); 
    } 
}); 
+1

Das funktioniert Vielen Dank. – hobok

+2

Wenn es funktioniert, markiere es als beantwortet bitte. – CodeBroJohn

+2

@Kautil Typo in Ihrem anderen Zustand. 'submit1' sollte' submit2' sein. – nam

0

versuchen so etwas wie:

var focusout = false; 

$("#Button1").click(function() { 
    if (focusout == true) { 
     focusout = false; 
     return; 
    } 
    else { 
     GetInfo(); 
    } 
}); 

$("#Text1").focusout(function() { 
    focusout = true; 
    GetInfo(); 
}); 
4
$('input[type="button"]').click(function (e) { 
    if (e.target) { 
     alert(e.target.id + ' clicked'); 
    } 
}); 

Sie diese ein wenig zwicken sollte (zB einen Namen anstelle einer ID verwenden, aufmerksam zu machen.), Aber auf diese Weise haben Sie mehr generische Funktion .

10

können Sie verwenden:

$("#id").click(function() 
{ 
    $(this).data('clicked', true); 
}); 

Jetzt ist es über eine prüfen, ob Aussage:

if($("#id").data('clicked')) 
{ 
    // code here 
} 

Weitere Informationen Sie the jQuery website on the .data() function.

+0

Es ist eine schlaue Idee, danke –

Verwandte Themen