2015-04-01 59 views
1

它不工作(爲什麼有人能解釋,請jQuery的複選框does'n工作(選中和未選中)

function checkBox() 
    { 
     if($('.checkbox').prop('checked', true)) 
     { 
      $('body').css('background','yellow'); 
     } 
     else if ($('.checkbox').prop('checked', false)) 
      $('body').css('background','blue'); 
    } 
+0

HTML '<輸入類=「複選框」類型=「複選框」選中/>' – Viktory 2015-04-01 13:41:02

回答

0

FIDDLE:https://jsfiddle.net/7rpeL2gu/4/

那答案 HTML:

<input class="checkbox" type="checkbox" /> 

JS:

$(document).ready(function(){ 
    $('.checkbox').on('click', function(){ 
    checkBox($(this)); 
    }); 
}); 

function checkBox($this){ 
    if($this.prop('checked')){ 
     $('body').css('background-color','yellow');} 
    else{ 
     $('body').css('background-color','blue'); } 
} 

附:你的代碼不起作用,因爲$(input).prop('checked', true) - 設置inputchecked,但$(input).prop('checked')給你input.state的檢查。

PPS閱讀本https://api.jquery.com/prop/

+0

如果我創建功能,如功能複選框( ),我有錯誤 '未捕獲的類型錯誤:undefined不是函數' – Viktory 2015-04-01 14:04:43

+0

等一秒鐘,我現在重寫代碼函數調用 – Legendary 2015-04-01 14:06:04

+0

snx(你幫了我很多 – Viktory 2015-04-01 14:06:59

1

.is()? - 檢查當前匹配的一套對選擇,元素的元素,或者如果這些元素中的至少一個給定的參數匹配jQuery對象並返回true

if($('#checkbox').is(':checked')){ 
     $('body').css('background','yellow'); 
    } 
    else{ 
     $('body').css('background','blue'); 
    } 
+0

請確保您的事件被觸發或不 – 2015-04-01 13:47:07