最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決checkbox的attr(checked)一直為undefined問題

 更新時間:2014年06月16日 16:33:42   投稿:whsnow  
需要做個一個全選的checkbox功能,遇到checkbox的attr("checked")一直為undefined,下面與大家分享下最終的解決方案
最近本屌絲應(yīng)項目開發(fā)需求,需要做個一個全選的checkbox功能。

哎呀嗎~~這不是很簡單的事情么,一個總的checkbox,N多個子checkbox,總的checkbox一旦選中,子checkbox全部選中,總的一旦不選中,子的也都不選中。

拿到這個小需求,本屌絲一陣竊喜,多么簡單的功能啊,OK,兩分鐘完事~~~

時間一分一秒的過去,本屌絲內(nèi)心奔騰的草原的馬兒,從一直逐漸增加到了千萬只~~~

這尼瑪怎么回事?
alert($("#checkbox_all").attr("checked"));
一直為undefined?


納尼???

為啥會這樣??瀏覽器你傻了嗎?然后果斷換瀏覽器測試,從chrome到IE,從IE到火狐。結(jié)果都是這樣 -_-||

難道是jquery又做改進(jìn)了????

經(jīng)過本屌絲用哈勃望遠(yuǎn)鏡和高清鐳射電子顯微鏡的查看,終于找到了端倪。。。。

原來,在jquery1.6版本便對此做出了修改:

【checked屬性在頁面初始化的時候已經(jīng)初始化好了,不會隨著狀態(tài)的改變而改變。

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

如果一開始沒被選中,則返回的永遠(yuǎn)是undefined !】


既然jquery對此做出了修改,那肯定也就是有相應(yīng)的更好的解決方法:

.prop()便是解決這個問題的利器!

具體用法如下:

alert($("#checkbox_all").prop("checked"));
此時就會變成true或者false啦~~


于是乎,本屌絲的代碼就改成了如下:

#check_all 為全選的總checkbox,#check_children為子checkbox
復(fù)制代碼 代碼如下:

$("#check_all").change(function(){
$('.check_children').prop("checked",this.checked);
});

或者:
復(fù)制代碼 代碼如下:

$("#check_all").change(function(){
var is_checked = $(this).prop("checked");
$('.check_children').prop("checked",is_checked);
});

不過,我還是很喜歡用第一種方法的啦,代碼越少越好嘛~~write less ,do more !

很方便的解決了全選的問題呀~~~

相關(guān)文章

最新評論

绿春县| 鹤山市| 瑞安市| 太仆寺旗| 新野县| 伊吾县| 聊城市| 晋江市| 屯留县| 清河县| 巴东县| 蒙自县| 资兴市| 华宁县| 许昌市| 云南省| 嘉峪关市| 惠安县| 唐河县| 郎溪县| 长乐市| 裕民县| 贵港市| 赤峰市| 兴宁市| 北海市| 黔西| 宝应县| 锦州市| 达孜县| 丰都县| 措美县| 黄石市| 临西县| 济南市| 博客| 靖西县| 郴州市| 阜城县| 西城区| 赣州市|