2015-03-03 93 views
0

我有p標記,當我點擊p標記時,我想切換複選框的檢查。現在它只能在第一次切換時使用。當我點擊p時,框會被檢查,當我再次點擊時,框會被取消選中,但就是這樣。如果我再次點擊它,屏幕上什麼也沒有發生。當我檢查螢火蟲中的元素時,檢查的屬性出現並消失,我認爲這是應該發生的,但屏幕上沒有任何內容出現。我嘗試使用prop(),它不起作用。這裏是我與attr()當單擊另一個元素時嘗試切換複選框

$(".clickMe").on("click", function(){ 
    if($("#thisBox").attr("checked")){ 
     $("#thisBox").removeAttr("checked") 
    }else{ 
     $("#thisBox").attr("checked","checked") 
    } 
}) 

有人可以告訴我,如果有一種方法來檢查,如果一個元素的變化。像**if**($(el).changes(){ do this })什麼爲

+0

請參閱下面的示例回答 – 2015-03-03 12:38:40

回答

2

模式試試這個

$(".clickMe").on("click", function(){ 
 
    if($('#thisBox')[0].checked){ 
 
     $('#thisBox').prop('checked', false); 
 
    }else{ 
 
     $('#thisBox').prop('checked', true); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<input type="checkbox" id="thisBox" /> Testing Checkbox 
 

 
<input type="button" class="clickMe" text="test" value="testing button"/>

2

使用此Demo Here

$(".clickMe").on("click", function(){ 
    if($("#thisBox").is(':checked')){ 
     $('#thisBox').prop('checked', false); 
    }else{ 
     $('#thisBox').prop('checked', true); 
    } 
}) 
2

只是觸發事件:

$(".clickMe").on("click", function(){ 
    $("#thisBox").trigger("click"); 
}); 

LIVE

+0

這應該是最乾淨的答案。唯一的問題是,如果您需要執行任何檢查框的活動,您需要手動定義複選框單擊功能 – ArinCool 2015-03-03 12:44:12

+0

@ArinCool ...您也可以個性化......看看這個:_http://jsfiddle.net/ ot3j60nr/2/_ – 2015-03-03 12:56:26

相關問題