2014-04-10 22 views
1

我有一個複選框中,我想在jQuery的插入,如果複選框被選中切換類上有transition箱子,但它失敗,下面是代碼:jQuery的,如果檢查撥動

$(document).ready(function(){ 
if ($('.onoffcheck').is(':checked')) { 
    $(".panel-success").toggleClass("panel-off2"); 
    } else { 
      $(".panel-off").toggleClass("panel-success"); 
} 
}); 

JSFIDDLE

+0

錯過了加入小提琴的jQuery LIB(左最上面的小提琴)..另外我沒有看到任何事件偵聽器.. – Praveen

回答

1

嘗試

$(document).ready(function() { 
    $('.onoffcheck').change(function() { 
     $("#node2").toggleClass("panel-off2", this.checked).toggleClass("panel-success", !this.checked); 
    }).change() 
}); 

演示:Fiddle

+0

大!但我想改變所有的節點,不只是一個... –

+0

@PedroCorcheroMurga像http://jsfiddle.net/arunpjohny/F4B3q/6/? –

+0

什麼是'panel-off'和'panel-off2'類 –

1

首先確保包含jQuery庫。 然後你必須聽取複選框更改事件。否則,條件檢查只能在文檔就緒時執行。

例如爲:

$(document).ready(function(){ 
    $('.onoffcheck').on('change', function(){ 
     if ($(this).is(':checked')) { 
      $(".panel-success").toggleClass("panel-off2"); 
     } else { 
      $(".panel-off").toggleClass("panel-success"); 
     } 
    }); 
}); 

DEMO

1

您必須添加一個change聽衆,使toggle邏輯上的每個checked變化執行。見working example

var toggle = function() { 
    if ($('.onoffcheck').is(':checked')) { 
     $(".panel-success").toggleClass("panel-off2"); 
    } else { 
     $(".panel-off").toggleClass("panel-success"); 
    } 
}; 

$(document).ready(function() { 
    toggle(); // initial execution 
    $('.onoffcheck').on('change', toggle); // execute it on every change 
});