2011-07-05 21 views
1

既にチェックされているラジオボタンの2回目のクリックを防ぐにはどうすればよいですか?チェックされているラジオボタンの2回目のクリックを防ぐにはどうすればいいですか?

イデアは同じラジオボタンで再びクリックする可能性を否定することです。

よろしく、 RG

+0

を提供してください? – rahul

+0

私はカスタムカートシステムを構築しているので、ラジオをクリックするとカートと合計に追加されますが、同じラジオボタンで2回クリックすると削除されますしかし、合計が更新されないのは、他のラジオオプションがクリックされたときだけです。 –

答えて

0

ラジオボタンが

jQuery("#parentElement input:radio").attr('disabled',true); 

代わりの

クリックされたときに実行される機能には、このような何かを追加
input:radio 

あなたがかもしれませんまた、ラジオボタンの特定のIDをターゲットにします。この

('#example2').click(function(){ 
alert("handling radiobutton, complete!"); 
jQuery("#example1").attr('disabled',false); 
jQuery("#example2").attr('disabled',true);}); 

<input type="radio" name="example1" id="example1"> 
<input type="radio" name="example2" id="example2"> 

これは当然の(nececerly汚れではなく)少し早い、そしてフォームはラジオボタンの数が不明を持っている場合は、ループそれらの谷必要があります。

+0

無効にした場合、値は転記されません。 –

+0

正しいです。値が転記された後でこれが実行されていることを確認してください。 – Lg102

+0

しかし、クリックしたときにボタンを無効にして、ユーザーがラジオボタンを1回だけクリックできるようにします。 –

1

それがクリックされた場合には、事前にイベントを防ぐことができます:あなたはまた、それを無効にすることができますが、それは価値だ

var clicked = false; 
$('input:radio.yourclass').click(function(event){ 
    if (clicked){ 
     event.preventDefault(); 
    } 
    clicked = true; 
}); 

がサーバーにポストされていません - あなたはより多くのボタンを制御する必要がある場合は、それができます行うことが、なぜあなたはこれを防ぎたいん=ここ

例マークアップhttp://jsfiddle.net/LUkw9/1/

+0

2回目のクリックでこのイベントがデフォルトより早く発生するという保証はありますか? –

+0

preventDefault()は、クリックのデフォルトアクション(アンカーへのリンクに続いて、送信のためのフォームを送信する)を防ぎます。2回目のクリックは、最初のアクションの後に明白であり(ラジオボタンを押す)、防がれます –

+0

' if(!clicked) 'を呼び出すので、最初のクリック処理中にデフォルトが防止されます。しかし、この方法では、このハンドラが動作する前にデフォルトのハンドラがすでに動作しているという保証が必要です。 –

関連する問題