本帖最后由 pard521 于 2013-04-18 10:47:35 编辑

解决方案 »

  1.   

    取 input DOM 对象的 parent tag 中的 <b> 标签中的 innerHTML
    或者取 input 标签的 next tag 的next tag 的 innerHTML
    用 js或者 jQuery都很好实现吧
      

  2.   

    window.onload = function(){
    document.onclick = function(e){
    e = e || window.event;
    //兼容浏览器并获取事件目标
    var eTarget = e.srcElement || e.target;
    //目标元素的标签
    var eType = eTarget.nodeName.toLowerCase();
    if(eType == "input"){
    //为了直接获取label,这个是针对这个文档的
    var contentValue = eTarget.nextSibling.nextSibling.nextSibling.nextSibling;
    //检测label下是否有b标签,有的话,取第一个。
    var hasB = contentValue.getElementsByTagName("b");
    if(0 != hasB.length){
    contentValue = hasB[0];
    }
    //弹出对应的值
    alert(contentValue.innerHTML);
    //取所有同级的input元素
    var eTargetParent = eTarget.parentNode.getElementsByTagName("input");
    var eTargetId = eTarget.getAttribute("id");
    //取得触发元素的id,并判断是否为这三个id,是的话,代表选择了总类的那个input
    if(eTargetId =="MENU_20_16" || eTargetId =="20_17" || eTargetId=="20_21" ){alert("123");
    if(eTargetParent[0].checked){
    for(var i=1;i<eTargetParent.length;i++){
    eTargetParent[i].checked = true;
    }
    }else{
    for(var i=1;i<eTargetParent.length;i++){
    eTargetParent[i].checked = false;
    }
    }
    }else{
    //否则的话,是选择了分类的input
    var flag = 0;
    for(var i=1;i<eTargetParent.length;i++){
    if(eTargetParent[i].checked == true){
    flag++;
    }
    }
    //只要有一个分类input是被选中的状态,那么总类的也是被选中
    if(!flag){
    eTargetParent[0].checked = false;
    }else{
    eTargetParent[0].checked = true;
    }
    }
    }
    }
    };试试能不能行,不知道这个是在哪搞的代码,写的有些没有层次性,向总类和分类,让总类和分类作为兄弟元素写,还是挺不好的。