2012-12-07 37 views
1

我想解決一個問題,我想用來顯示/隱藏(切換)div的複選框,但需要保持複選框的值,意思是,他們不能使用屬性被禁用,因爲如果是這樣,他們將不會被提交。所以基本上我試圖禁用點擊複選框已被選中,以避免點擊相同的複選框並切換div。只有未選中的複選框應該是可點擊的,並且通過繼承,div將切換。 (我的問題是複選框,而不是DIV切換)取消綁定與jQuery保持功能的複選框

<input type="radio" id="cc_email0" name="form[cc_email]" value="0" checked="checked"> 
<input type="radio" id="cc_email1" name="form[cc_email]" value="1"> 

<div id="for_cc_mail0" style="display: block">The div content for 0</div> 
<div id="for_cc_mail1" style="display: none">The div content for 1</div> 

在此先感謝您的幫助! M

+1

爲什麼你不只是禁用它們,並在提交之前重新啓用複選框? – Snuffleupagus

+0

爲什麼你需要禁用它們?如果有人點擊已經選擇的RADIO按鈕,那麼它只會使可見的元素可見,因此沒有明顯的效果。 –

+0

@Bob,不,因爲divs鏈行爲中附加的toggle()。不管它是否被選中,點擊相同的複選框都會切換div。這是我的問題。 – McRui

回答

0

您的輸入是單選按鈕而不是複選框。相反,禁止輸入的,你可以嘗試:

var $div = $('div'); 
$('input[type=radio]').change(function(){ 
    $div 
    .hide() 
    .filter('[id="for_'+this.id+'"]') 
    .show(); 
}) 

http://jsfiddle.net/sPy2g/

請注意,我已經改變複選框的ID從cc_email*cc_mail*

+0

謝謝!需要用標記來測試它,但似乎這是解決方案。我會盡快回複測試。謝謝 – McRui

+0

嗯......我真的需要的是禁用點擊或解除綁定點擊工作。用你的例子,這個工作,我需要改變大部分已經完成的切換() – McRui

+0

好吧,找出如何解決這個問題。這只是改變toggle()的方法,並在id點擊時做show()/ hide()。再次感謝您的幫助! – McRui

相關問題