JS如何获取页面中cherkbox选中后的lable和b标签的内容 本帖最后由 pard521 于 2013-04-18 10:47:35 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 取 input DOM 对象的 parent tag 中的 <b> 标签中的 innerHTML或者取 input 标签的 next tag 的next tag 的 innerHTML用 js或者 jQuery都很好实现吧 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; } } } }};试试能不能行,不知道这个是在哪搞的代码,写的有些没有层次性,向总类和分类,让总类和分类作为兄弟元素写,还是挺不好的。 JavaScript中 关于div 事件问题 javascript如何生成文件并下载???? 梅花雪老大请进:如何自定义树型控件的右键菜单 extjs这个页面如何设计,求大神 100分求救,急急急! 有没有什么方法一下清楚select中所有的option项? 弹出式窗口带参数返回问题 算是概念性的问题:JavaScript和JAVA的 各位大侠,有没有做出象GRID一样可以设置固定列的table。。。 SOS,我的表单无法提交 setTimeout的一点小问题 javaScript实现给隐藏表单赋值提交
或者取 input 标签的 next tag 的next tag 的 innerHTML
用 js或者 jQuery都很好实现吧
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;
}
}
}
}
};试试能不能行,不知道这个是在哪搞的代码,写的有些没有层次性,向总类和分类,让总类和分类作为兄弟元素写,还是挺不好的。