2011-07-05 71 views
1

如何防止再次點擊已經檢查過的單選按鈕?如何防止檢查單選按鈕中的第二次點擊?

理念是否定再次點擊同一個單選按鈕的可能性。

問候, RG

+0

爲什麼你要防止這種情況? – rahul

+0

因爲我建立了一個自定義的購物車系統,當我點擊一個收音機時,一個項目被添加到購物車和總計,但是如果我在相同的單選按鈕中點擊兩次(而不是雙擊)但總不會更新,只有當我點擊發生的其他無線電選項時。 –

回答

0

添加像這樣的東西被點擊

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

代替

的單選按鈕時所執行的功能
input:radio 

你可能也針對單選按鈕的特定ID。

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

有了這個

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

這是一個有點快(但不nececerly髒),當然,你應該循環通過他們,如果窗體上有數目不詳的單選按鈕。

+0

如果您將其禁用,則不會發布該值 –

+0

正確,請確保在發佈該值後執行此操作。 – Lg102

+0

那麼,但他點擊時會關閉按鈕,以便用戶只能單擊一個單選按鈕 –

1

您可以防止萬一,如果它以前被點擊:

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

你也可以禁用它,但後來它的值不會發送到服務器 - 如果你需要在更多的按鈕控制,它可以做,請提供您的標記

例這裏= http://jsfiddle.net/LUkw9/1/

+0

有沒有保證第二次點擊這個事件會比默認的更早觸發? –

+0

preventDefault()阻止點擊的默認動作(在錨點鏈接之後,提交表單提交)第二次點擊顯然是在第一次和默認動作(勾選單選按鈕)後被阻止 –

+0

那麼你需要'如果(!clicked)',那麼在第一次點擊處理期間阻止默認。但是這樣你需要保證默認處理器在這個工作之前已經工作了。 –

相關問題