<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>级联选择</title>
</head><body><ul id="tree">
<!--<li><input type=checkbox> -->
<ul>
<li>開発部:<input type=checkbox>
<ul >
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li >
<li>人事部:<input type=checkbox >
<ul >
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
<li>営業部:<input type=checkbox>
<ul>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
</ul>
<!--</li>-->
</ul>
</body><script language="javascript">var arr = tree.getElementsByTagName('input')
for(var i=0; i<arr.length; i++){
var input = arr[i]
if(input.type = 'checkbox'){
input.onclick = ClickInput
}
}function ClickInput(){
var li = this.parentElement;
var arr = li.getElementsByTagName('input')
for(var i=0; i<arr.length; i++){
var input = arr[i]
if(input.type == 'checkbox'){
input.checked = this.checked
}
}
var li = li.parentElement.parentElement while(li.tagName.toLowerCase() == 'li'){
var input = li.childNodes[0]
if(input.tagName.toLowerCase() == 'input'){
input.checked = this.checked
}
li = li.parentElement.parentElement }}
</script>
</html>
谁能帮我修改一下代码,点击父checbox时候,它级联的下一级checkbox会显示或隐藏,在父checkbox前有个加号那样的,加号时候是隐藏状态,点击变成减号,显示状态先谢谢了
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>级联选择</title>
<style>
#tree > ul {
list-style:none;
}
#tree li > ul {
display:none;
}
</style>
</head><body><ul id="tree">
<!--<li><input type=checkbox> -->
<ul>
<li><span id="dev_pre"> + </span>開発部:<input type=checkbox onclick="expand(this.checked,'dev')">
<ul id='dev'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li >
<li><span id="per_pre"> + </span>人事部:<input type=checkbox onclick="expand(this.checked,'per')">
<ul id='per'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
<li><span id="sel_pre"> + </span>営業部:<input type=checkbox onclick="expand(this.checked,'sel')">
<ul id='sel'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
</ul>
<!--</li>-->
</ul>
</body><script language="javascript">var expand = function(t,n){
document.getElementById(n).style.display = ["none","block"][t+0]
document.getElementById(n+'_pre').innerHTML = [" + "," - "][t+0]
}
</script>
</html>
$(this)..
})Sorry ,Jquery 不熟悉,但是应该就是这么搞的
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>级联选择</title>
<style>
#tree ul {
list-style:none;
}
li ul {
display:none;
}
</style>
</head><body><ul id="tree">
<!--<li><input type=checkbox> -->
<ul>
<li><span id="dev_pre"> + </span>開発部:<input type=checkbox onclick="expand(this.checked,'dev')">
<ul id='dev'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li >
<li><span id="per_pre"> + </span>人事部:<input type=checkbox onclick="expand(this.checked,'per')">
<ul id='per'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
<li><span id="sel_pre"> + </span>営業部:<input type=checkbox onclick="expand(this.checked,'sel')">
<ul id='sel'>
<li><input type=checkbox></li>
<li><input type=checkbox></li>
</ul>
</li>
</ul>
<!--</li>-->
</ul>
</body><script language="javascript">var expand = function(t,n){
var o = document.getElementById(n);
var chks = o.getElementsByTagName("input");
o.style.display = ["none","block"][t+0];
document.getElementById(n+'_pre').innerHTML = [" + "," - "][t+0]
for(var i=0,j=chks.length;i<j;i++){
chks[i].checked = t;
}
}
</script>
</html>
開発部,人事部,営業部 算是一组,然后每个下面的再算成一组,判断是否选中,这样想能行吗?