2012-01-03 26 views
0

我與此代碼的工作:(更新)帶有2個類的JQuery toggleClass?

<script> 
$(function(){ 
//Radio Item 1 
$("#radio1").change(function() { 

$("#defaultwrapper").addClass("background_color_selected"); 
$("#default_wrapper").removeClass("def_background_color"); 

}); 

//Radio Item 2 
$("#radio2").change(function() { 

$("#default_wrapper2").addClass("background_color_selected"); 
$("#default_wrapper2").removeClass("def_background_color"); 

}); 



}); 
</script> 

我的問題是,我需要選擇的無線電的背景顏色改變,它不是現在

+4

你有沒有看看文檔? http://api.jquery.com/toggleClass/。它清楚地表明:*「** className **爲匹配集中的每個元素切換一個或多個類名稱(以空格分隔)。」*。或者,如果您不希望添加兩個類,請調用'toggleClass'兩次,或省略該標誌。 – 2012-01-03 10:16:20

+0

雖然是一個布爾值,只會添加或刪除它們的_both_。 – 2012-01-03 10:18:04

回答

1

(更新) 在jQuery的電臺時未選擇任何事件。嘗試創建全局處理程序:

$(function(){ 
    $("input[type=radio]").change(function() { 
     $("input[type='radio']", $(this).parent().parent()).each(function() { 
      $(this).parent() 
       .toggleClass("background_color_selected", this.checked) 
       .toggleClass("def_background_color", !this.checked); 
     }); 
    }); 
}); 

對於HTML:

<div> 
    <div class="def_background_color"><input type="radio" id="radio1" name="aaa" /> One</div> 
    <div class="def_background_color"><input type="radio" id="radio2" name="aaa" /> Two</div> 
</div> 

工作樣本:http://jsfiddle.net/THrYJ/

2
$(function(){ 
     $("#myradio").change(function() { 
    $("#wrapper").toggleClass("classOne", this.checked).toggleClass("classTwo", !this.checked) 
     }).change(); 
    }) 
+0

代碼已更新 – Satch3000 2012-01-03 10:42:06

1

如果切換首先有classOne(fe <div class="classOne" id="test">Text</div>),您可以像這樣切換課程:$("#test").toggleClass("classOne classTwo");。這將刪除類classOne(因爲它目前尚未),它將添加類classTwo(因爲它尚未出現)。

1

嗨,我有同樣的問題,但是這是我在我的項目已經做了...

<script> 
    $(".rtPanhold01").addClass("rtPanhold02"); 
     $(".rtPanhold01").removeClass("rtPanhold01"); 
</script> 
+0

代碼已更新 – Satch3000 2012-01-03 10:42:13