现在的位置: 首页 > 综合 > 正文

[导入][原创]级联checkbox,自用权限管理模块,需jQuery

2012年06月11日 ⁄ 综合 ⁄ 共 1133字 ⁄ 字号 评论关闭

使用方法:
cascade(checkbox的name)
全选checkbox的id为name0
子checkbox的id为name0[[父id_][父id_]...]id

cascade = function(checkboxName) {
    $(":checkbox[name='" + checkboxName + "']").click(function() {
        cascadeCheck(this.id);
    });
};

cascadeCheck = function(nElementID) {
    var isChecked = $('#' + nElementID).attr('checked');
    var sParentId = nElementID.substr(0, nElementID.lastIndexOf('_')); //父节点
    $(":checkbox[id^='" + nElementID + "_']").attr('checked', isChecked); //全选所有子节点
    if (isChecked) {
        bChecked = true;
        $(":checkbox[name='" + $('#' + nElementID).attr('name') + "']").filter(function() {
            return nElementID.indexOf(this.id + '_') === 0;
        }).attr('checked'true); //遍历兄弟节点
    } else {
        bChecked = $(":checkbox[id^='" + sParentId + "_']").filter(function() {
            return this.id.substring(sParentId.length + 1).indexOf('_') === -1 && this.checked === true;
        }).length != 0; //遍历至根节点
    }
    if (!isChecked && !bChecked && sParentId != '') {
        $('#' + sParentId).attr('checked'false);
        cascadeCheck(sParentId);
    }
}

文章来源:http://Jorkin.Reallydo.Com/default.asp?id=566

【上篇】
【下篇】

抱歉!评论已关闭.