RMS.Manage.Web/Scripts/Common/treeview.js

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/* 
 * 可勾选treeview树形视图
 */
(function ($) {
    $.fn.treeview_check = function (option) {
        /// <summary>
        /// 可勾选树形视图,基于bootstrap-treeview控件,选中一个节点会联动选择所有子节点和当前节点的所有上级节点
        /// </summary>
        /// <param name="option">配置项:<br/>
        /// 背景色选中不可多选<br/>
        /// levels:默认展开级别,默认为2;<br/>
        /// data:绑定数据;<br/>
        /// 其他参数请参考bootstrap-treeview介绍:http://www.htmleaf.com/jQuery/Menu-Navigation/201502141379.html ;<br/>
        /// </param>
        var opt = {
            showTags: true,
            multiSelect: false,
            showCheckbox: true,
            onNodeChecked: function (event, node) {
                if (!$.fn.treeview_check.nodes[node.nodeId]) {
                    $.fn.treeview_check.nodes[node.nodeId] = node;
                }
                checkParent(node);//上级联动
                checkSun(node);//下级联动
            },
            onNodeUnchecked: function (event, node) {
                if ($.fn.treeview_check.nodes[node.nodeId]) {
                    $.fn.treeview_check.nodes[node.nodeId] = null;
                }
                checkParent(node);//上级联动
                checkSun(node);//下级联动
            }
        }
        $.extend(opt, option);
        var $tree = $(this).treeview(opt);
        //上级联动
        function checkParent(node) {
            if (node.parentId != undefined) {
                var checked = 0;
                var part = false;
                var pnode = $tree.treeview('getParent', node);
                for (var i = 0; i < pnode.nodes.length; i++) {
                    if (pnode.nodes[i].checkedIcon == "glyphicon glyphicon-stop") {
                        part = true;
                        break;
                    }
                    if (pnode.nodes[i].state.checked) {
                        checked++;
                    }
                }
                if (part) {
                    pnode.checkedIcon = "glyphicon glyphicon-stop";
                    $tree.treeview('checkNode', [pnode, { silent: true }]);
                } else {
                    if (checked >= pnode.nodes.length) {
                        pnode.checkedIcon = null;
                        $tree.treeview('checkNode', [pnode, { silent: true }]);
                    } else if (checked <= 0) {
                        pnode.checkedIcon = null;
                        $tree.treeview('uncheckNode', [pnode, { silent: true }]);
后面还有 120 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。