模擬多級復選框效果的jquery代碼
更新時間:2013年08月13日 16:26:49 作者:
今天又次體會到j(luò)query的強大了,做了個多級復選框的效果,代碼塊分兩塊:一是全選的效果、二是當前復選框的父框根據(jù)當前框的兄弟是否全選中來決定父框是否選中
今天又次體會到j(luò)query的強大了,做了個多級復選框的效果,代碼總共就20+行就over了。
我又想用js來做一個看看,才寫了幾個方法就寫不動了,兼容性要考慮很多,而且代碼量直線上升。
主要分享下jquery的這個效果的實現(xiàn)。代碼塊分兩塊:
一是全選的效果,就是點擊全選的復選框時它的子孫都相應(yīng)被選中或者未選中。這人很好做,代碼如下:
evtEle.parent().next(".checks").find("input:checkbox").attr("checked", evtEle[0].checked);//evtEle是點擊的復選框
二是當前復選框的父框根據(jù)當前框的兄弟是否全選中來決定父框是否選中,再繼續(xù)往上看父框的父框等。
當全選中時這里的實現(xiàn)使用parents來得到所有的父框,對每一個的操作結(jié)合each來完成。
當非全選中時父框依次失去被選中。代碼如下:
if (evtEle.is("input:checked")) {
evtEle.parents(".checks").each(function () {
!$(this).children("p").children("input:checkbox").filter(function () {
return !this.checked;
})[0] && $(this).prev().children("input:checkbox").attr("checked", "checked");
});
} else {
evtEle.parents(".checks").prev().children("input:checkbox").attr("checked", false);
}
code下載
我又想用js來做一個看看,才寫了幾個方法就寫不動了,兼容性要考慮很多,而且代碼量直線上升。
主要分享下jquery的這個效果的實現(xiàn)。代碼塊分兩塊:
一是全選的效果,就是點擊全選的復選框時它的子孫都相應(yīng)被選中或者未選中。這人很好做,代碼如下:
復制代碼 代碼如下:
evtEle.parent().next(".checks").find("input:checkbox").attr("checked", evtEle[0].checked);//evtEle是點擊的復選框
二是當前復選框的父框根據(jù)當前框的兄弟是否全選中來決定父框是否選中,再繼續(xù)往上看父框的父框等。
當全選中時這里的實現(xiàn)使用parents來得到所有的父框,對每一個的操作結(jié)合each來完成。
當非全選中時父框依次失去被選中。代碼如下:
復制代碼 代碼如下:
if (evtEle.is("input:checked")) {
evtEle.parents(".checks").each(function () {
!$(this).children("p").children("input:checkbox").filter(function () {
return !this.checked;
})[0] && $(this).prev().children("input:checkbox").attr("checked", "checked");
});
} else {
evtEle.parents(".checks").prev().children("input:checkbox").attr("checked", false);
}
code下載
相關(guān)文章
jquery ajax實現(xiàn)下拉框三級無刷新聯(lián)動,且保存保持選中值狀態(tài)
jquery ajax實現(xiàn)下拉框三級無刷新聯(lián)動,且保存保持選中值狀態(tài)。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
jQuery插件實現(xiàn)非常實用的tab欄切換功能【案例】
這篇文章主要介紹了jQuery插件實現(xiàn)非常實用的tab欄切換功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-02-02
jQuery+C#實現(xiàn)參數(shù)RSA加密傳輸功能【附j(luò)sencrypt.js下載】
這篇文章主要介紹了jQuery+C#實現(xiàn)參數(shù)RSA加密傳輸功能,結(jié)合具體實例形式分析了js使用jsencrypt.js插件前端字符數(shù)據(jù)處理傳輸及C#后臺數(shù)據(jù)轉(zhuǎn)換與RSA加密相關(guān)操作技巧,并附帶jsencrypt.js供讀者下載參考使用,需要的朋友可以參考下2017-06-06

