jquery獲取checkbox的attr(checked)一直為undefined問題的解決辦法

2016-10-24 1439 2 編輯:深色多郎 來源:網站程序設計

使用 jquery 判斷 checkbox 是否選中,大家估計馬上就會想到如下方法:

$("#phpernote").attr("checked")

但是今天卻發現這個語句總是返回undefined,非常不解,網上查了下,發現原來是這樣的。

這個方法在 jquery1.6 版本及以上版本便對此做出了修改,修改的原因是:

checked屬性在頁面初始化的時候已經初始化好了,不會隨著狀態的改變而改變。

也就是說如果checkbox在頁面加載完畢是選中的,那么返回的永遠都是checked(我的一開始就是沒選中)

如果一開始沒被選中,則返回的永遠是undefined !

因此 jquery 做了這個改動之后便用 .prop() 這個方法解決這個問題了。

關于 .prop() 的具體用法如下:

alert($("#phpernote").prop("checked"));

此時返回的結果就是 true 或者 false 了。

因此關于工作中比較常見的全選可以這么寫:

加入 #check_all 為全選的總 checkbox,.check_children 為子 checkbox

查看代碼打印

$("#check_all").change(function(){

    $('.check_children').prop("checked",this.checked);

});

或者:

查看代碼打印

$("#check_all").change(function(){

    var is_checked=$(this).prop("checked");

    $('.check_children').prop("checked",is_checked);

});

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
我們猜你喜歡
七星彩头尾