国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:09:05
字體:
來源:轉載
供稿:網友
需要做個一個全選的checkbox功能,遇到checkbox的attr("checked")一直為undefined,下面與大家分享下最終的解決方案

最近本屌絲應項目開發需求,需要做個一個全選的checkbox功能。

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

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

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

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

納尼???

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

難道是jquery又做改進了????

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

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

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

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

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

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

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

具體用法如下:

alert($("#checkbox_all").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);
});


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

很方便的解決了全選的問題呀~~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 彝良县| 页游| 鄂托克前旗| 兰坪| 尼木县| 安西县| 巴塘县| 桂平市| 乡宁县| 湖口县| 和平区| 井研县| 贵德县| 荃湾区| 克什克腾旗| 迁西县| 竹北市| 鄄城县| 崇文区| 溆浦县| 瑞金市| 襄汾县| 德令哈市| 自治县| 建阳市| 宜川县| 鞍山市| 南皮县| 莫力| 都兰县| 邻水| 宝鸡市| 米泉市| 平遥县| 秀山| 湘阴县| 扬州市| 会泽县| 黄浦区| 湘潭县| 皋兰县|