2013-03-14 23 views
14

フォームに2つのボタンがあり、どのボタンがクリックされたかを確認したいのですが。 すべてはラジオボタンで正常に動作します:シンプルでjQuery:ボタンがクリックされているか確認してください

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

は、ボタンのすべてのクラッシュを提出します。

ありがとうございます!

+5

ポストにあなたが試したもののためのコードを訪問することができます既に。 – SteveP

答えて

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

EDIT: - これはすべてのボタンで機能します。

+0

私の試行: if($( "input [@ name = 'submit']:clicked))val()== 'button') $(" input [type = 'button']」)。クリック(function(){ アラート(「id:+ $(this).attr( "id")+」をクリックしたボタン)!); }); それはうまくいかないが、私はそれを区別する必要があるので、私はもっと多くのボタンを持っている。 私は多くのコードを試して、いくつかの問題を抱えています。なぜなら、return文が真であるか、何も(何も試していない)何も分からないためです。私はラジオボタンのために持っている最もシンプルで似たようなソリューションを探しています。 – hobok

+0

あなたのコードを投稿してください。 htmlで –

+0

@hobok: - 更新された回答を参照してください。 – Pranav

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

ありがとう、ありがとうございます。 – hobok

+2

もしそれが動作したら、それを答えてください。 – CodeBroJohn

+2

@Kautil Typoあなたのelse状態です。 'submit1'は' submit2'でなければなりません – nam

0

のようなものを試してみてください(。例えば警告するIDの代わりに名前を使用)

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'); 
    } 
}); 

あなたはこの小さなを微調整する必要がありますが、あなたはより一般的な機能を持っている。この方法。

10

あなたはこれを使用することができます:

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

を今すぐ経由して、それをチェックする文があれば:

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

詳細については、あなたがthe jQuery website on the .data() function.

+0

スマートなアイデアです、ありがとう –

関連する問題