日期:2014-05-16  浏览次数:20445 次

TreeView的CheckBox的问题
我的TreeView前面有复选框,这个有多个父节点嘛,怎么点击父节点的时候让子节点全选或不全选?我在百度搜了很多js操作的,但是都没有效果啊。不知道是啥问题。。
------解决方案--------------------
再试一个哈


//TREE控件节点控制事件,调用方法this.TreeViewMoudle.Attributes.Add("onclick", "CheckEvent(event)");
//子节点的CheckBox跟着父节点变化而变化,同时父节点的CheckBox跟着子节点变化而变化

function CheckEvent(evt) {
    evt = window.event 
------解决方案--------------------
 evt;
    var objNode = evt.srcElement 
------解决方案--------------------
 evt.target;
    if (objNode.tagName == "INPUT" && objNode.type == "checkbox") {
        var objParentDiv = objNode.id.replace("CheckBox", "Nodes");
        if (objNode.checked == true) {
            setChildCheckState(objParentDiv, true);

            setParentCheckeState(objNode, true);
        }
        else {
            setChildCheckState(objParentDiv, false);

            if (!HasOtherChecked(objNode)) {
                setParentCheckeState(objNode, false);
            }
        }
    }
}

//父节点的CheckBox跟着子节点变化而变化

function CheckParentEvent(evt) {
    evt = window.event 
------解决方案--------------------
 evt;
    var objNode = evt.srcElement 
------解决方案--------------------
 evt.target;
    if (objNode.tagName == "INPUT" && objNode.type == "checkbox") {
        var objParentDiv = objNode.id.replace("CheckBox", "Nodes");
        if (objNode.checked == true) {
            setParentCheckeState(objNode, true);
        }
        else {
            if (!HasOtherChecked(objNode)) {
                setParentCheckeState(objNode, false);
            }
        }
    }
}

//子节点的CheckBox跟着父节点变化而变化

function CheckNodeEvent(evt) {
    evt = window.event 
------解决方案--------------------
 evt;
    var objNode = evt.srcElement 
------解决方案--------------------
 evt.target;
    if (objNode.tagName == "INPUT"&nb