2013-11-26 155 views
0

我知道把複選框當作單選按鈕並不是一個好習慣,但我需要用戶能夠在他們想要的時候取消選擇一個選項。我有一些jQuery將用戶限制爲一個選項,但我需要一個選項來取消選中另一個選項的時間。現在,用戶必須取消選中選中的選項,然後選擇其他選項。如何在選擇另一個選項時取消選中複選框?

這是當前腳本:

$(function() { 
    var max = 1; 
    $('#checks-wrap-app-type').on('click', 'input[type="checkbox"]', function(){ 
     return $(this).closest('#checks-wrap-app-type').find(':checked').length <= max; 
    }); 
]); 

我不知道如何改變這一點,以便選擇了其他選項時,當前選中選項未被選中。任何幫助將不勝感激。如果您需要更多信息,請與我們聯繫。

謝謝。

+2

您是否嘗試過不選中jQuery中的所有選項,然後檢查是否需要?無需查找檢查的輸入。 – Feanor

+0

顯然@wared不是讀者。 – mikeriley131

+0

@費爾諾 - 你能澄清一下嗎?謝謝。 – mikeriley131

回答

0

使用更改事件,而是和上變化,只是取消所有,不包括剛換了一個。

$('#checks-wrap-app-type').on('change', 'input[type="checkbox"]', function(){ 
    $('#checks-wrap-app-type input[type="checkbox"]').not($(this)).prop('checked', false); 
}); 
+0

我不得不重寫一些東西來完成它的工作,但這幫助我達到了目標。謝謝! – mikeriley131

0

你有沒有想過使用單選按鈕?他們會做你想做的事情。

+0

他們不會因爲我需要用戶能夠取消選擇,這是無法用單選按鈕完成的。 – mikeriley131

0

檢查:

if($('.checkbox1').prop('checked') == 'true') 
     $('.checkbox1').prop('checked',false); 

    if($('.checkbox2').prop('checked') == 'true') 
     $('.checkbox2').prop('checked',false); 
相關問題