2012-05-14 47 views
8

我知道我們無法只讀單選按鈕和複選框。我試圖禁用單選按鈕和複選框,但在IE中它不是清晰可見。如何使單選按鈕和複選框禁用/只讀功能

是否有其他方法可以像使用jQuery,CSS和JavaScript一樣禁用/只讀?

+0

是的,但它確實與您已經嘗試過的完全一樣,將禁用屬性設置爲禁用等。 – adeneo

+0

您正在爲此做什麼代碼.. –

回答

12

您可以使用下面的代碼,以避免對元素的點擊次數,你不希望用戶更改

$(':radio,:checkbox').click(function(){ 
    return false; 
}); 

您可以使用適當的選擇來限制點擊。

+0

感謝它的工作原理。是否可以將背景顏色應用於radiobuttton和複選框,以便它看起來像禁用而不使用圖像?我嘗試使用$(':radio,:checkbox')。css(「background-color」,'red「); – Raje

+0

我不認爲你可以這樣做,你必須爲此使用某種圖像。但是如果你想給它一個禁用的效果,最好禁用它,然後它在所有的瀏覽器上看起來都是一致的。我以爲你想禁用沒有禁用效果的複選框/單選按鈕。 – LoneWOLFs

+0

是的,你是對的。我想禁用像功能沒有禁用效果。如果我指定禁用複選框和單選按鈕,則它在IE中不明顯。 – Raje

7

勇可以給這樣的: -

我你的腳本

jQuery('#radio').attr('disabled','disabled'); 

或者你可以根據你..

,如果它不與IE compatable給兼容性也addclass ..

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

然後檢查..

,你也可以給這樣的: -

jQuery("#youridname input:radio").attr('disabled',true); 
+0

我知道這是舊的,但對於任何想要使用此解決方案的人,請記住,在提交表單時不會發布禁用的元素。 – blackandorangecat

1

如果單選按鈕已經被選中,如果你點擊選中的單選按鈕將它更改值從真爲假。對於這種情況下面的代碼工作

$(document).ready(function() { 
    $('input[type = "radio"]').change(function() { 
     this.checked = false; 
    }); 
}); 
3
 selectedRow.find('input[type="radio"]:not(:checked)').each(function(){ $(this).attr('disabled', true); }); 

選定行僅僅是低於我想找到單選按鈕我感興趣的html元素。
整個腳本只有在選擇了一個單選按鈕後才被調用。
執行時,它定位未選中的單選按鈕並禁用它們。

因此,給我期望的結果,禁用未選定的單選按鈕,同時保持選定的選項。

此結果似乎是一個更好的選擇,然後
1.在單選按鈕上放置一個圖像,以避免用戶選擇另一個選項。
2. .click(function(){return false;}),當未選定選項被選中時,它隱藏選擇 3.禁用所有選擇丟失的單選按鈕。

希望這可以幫助你,
歡呼聲。