高分请高手补充JavaScript源代码---(50分)
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="1">1
<BR> <INPUT TYPE="checkbox" NAME="11">11
<BR> <INPUT TYPE="checkbox" NAME="12">12
<BR> <INPUT TYPE="checkbox" NAME="13">13
<BR> <INPUT TYPE="checkbox" NAME="14">14
<BR><BR>
<INPUT TYPE="checkbox" NAME="2">2
<BR> <INPUT TYPE="checkbox" NAME="21">21
<BR> <INPUT TYPE="checkbox" NAME="22">22
<BR> <INPUT TYPE="checkbox" NAME="23">23
<BR> <INPUT TYPE="checkbox" NAME="24">24
<BR><BR>
<INPUT TYPE="checkbox" NAME="3">3
<BR> <INPUT TYPE="checkbox" NAME="31">31
<BR> <INPUT TYPE="checkbox" NAME="32">32
<BR> <INPUT TYPE="checkbox" NAME="33">33
<BR> <INPUT TYPE="checkbox" NAME="34">34
<BR><BR>
<INPUT TYPE="checkbox" NAME="4">4
<BR> <INPUT TYPE="checkbox" NAME="41">41
<BR> <INPUT TYPE="checkbox" NAME="42">42
<BR> <INPUT TYPE="checkbox" NAME="43">43
<BR> <INPUT TYPE="checkbox" NAME="44">44
<BR><BR>
<INPUT TYPE="checkbox" NAME="all">all
</FORM>
以上是一个表单,请各位高手补充JavaScript源代码。实现以下功能:
当选中1时,11,12,13,14自动被选中,当选中2时,21,22,23,24,同样可以选择3,4..... 当选中ALL时,所有均被自动选中。也可以每次选中单个如:11,22,23,43,21,42,....
问题点数:50、回复次数:12Top
1 楼hiflash(小郑)回复于 2002-05-02 09:30:33 得分 0
在线等待.....急.....Top
2 楼saucer(思归)回复于 2002-05-02 10:00:37 得分 50
用数字来命名控件不是个好办法,但试试
<script langugage="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
switch (ele.name)
{
case "all":
setCheck(ele,true);
break;
case "1": case "2": case "3": case "4":
setCheck(ele);
break;
default:
break;
}
}
}
function setCheck(obj, bAll)
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.length > 1 && inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>Top
3 楼qisanyou(承接网站建设业务)回复于 2002-05-02 10:09:47 得分 0
第一个选择做好啦,是不是这样?下面依次类推:
<script>
function qi(all){
for(i=0;i<list1.checkbox1.length;i++)
list1.checkbox1[i].checked=all;
}
</script>
<FORM name="list1" METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="1" value="Check All" onClick="qi(this.checked);">1
<BR> <INPUT TYPE="checkbox" NAME="checkbox1">11
<BR> <INPUT TYPE="checkbox" NAME="checkbox1">12
<BR> <INPUT TYPE="checkbox" NAME="checkbox1">13
<BR> <INPUT TYPE="checkbox" NAME="checkbox1">14
<BR><BR>
<INPUT TYPE="checkbox" NAME="2">2
<BR> <INPUT TYPE="checkbox" NAME="21">21
<BR> <INPUT TYPE="checkbox" NAME="22">22
<BR> <INPUT TYPE="checkbox" NAME="23">23
<BR> <INPUT TYPE="checkbox" NAME="24">24
<BR><BR>
<INPUT TYPE="checkbox" NAME="3">3
<BR> <INPUT TYPE="checkbox" NAME="31">31
<BR> <INPUT TYPE="checkbox" NAME="32">32
<BR> <INPUT TYPE="checkbox" NAME="33">33
<BR> <INPUT TYPE="checkbox" NAME="34">34
<BR><BR>
<INPUT TYPE="checkbox" NAME="4">4
<BR> <INPUT TYPE="checkbox" NAME="41">41
<BR> <INPUT TYPE="checkbox" NAME="42">42
<BR> <INPUT TYPE="checkbox" NAME="43">43
<BR> <INPUT TYPE="checkbox" NAME="44">44
<BR><BR>
<INPUT TYPE="checkbox" NAME="all">all
</FORM>Top
4 楼hiflash(小郑)回复于 2002-05-02 10:12:26 得分 0
谢谢你了:)Top
5 楼hiflash(小郑)回复于 2002-05-02 17:39:47 得分 0
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="M1">1
<BR> <INPUT TYPE="checkbox" NAME="M11">11
<BR> <INPUT TYPE="checkbox" NAME="M12">12
<BR> <INPUT TYPE="checkbox" NAME="M13">13
<BR> <INPUT TYPE="checkbox" NAME="M14">14
<BR><BR>
<INPUT TYPE="checkbox" NAME="M2">2
<BR> <INPUT TYPE="checkbox" NAME="M21">21
<BR> <INPUT TYPE="checkbox" NAME="M22">22
<BR> <INPUT TYPE="checkbox" NAME="M23">23
<BR> <INPUT TYPE="checkbox" NAME="M24">24
<BR><BR>
<INPUT TYPE="checkbox" NAME="M3">3
<BR> <INPUT TYPE="checkbox" NAME="M31">31
<BR> <INPUT TYPE="checkbox" NAME="M32">32
<BR> <INPUT TYPE="checkbox" NAME="M33">33
<BR> <INPUT TYPE="checkbox" NAME="M34">34
<BR><BR>
<INPUT TYPE="checkbox" NAME="M4">4
<BR> <INPUT TYPE="checkbox" NAME="M41">41
<BR> <INPUT TYPE="checkbox" NAME="M42">42
<BR> <INPUT TYPE="checkbox" NAME="M43">43
<BR> <INPUT TYPE="checkbox" NAME="M44">44
<BR><BR>
<INPUT TYPE="checkbox" NAME="all">all
</FORM>
这样可以吗?请你帮改一下JavaScript.Top
6 楼hiflash(小郑)回复于 2002-05-02 17:51:33 得分 0
<script langugage="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
switch (ele.name)
{
case "all":
setCheck(ele,true);
break;
case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "10": case "11": case "12": case "13": case "14":
setCheck(ele);
break;
default:
break;
}
}
}
function setCheck(obj, bAll)
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.length > 1 && inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="1">1
<BR> <INPUT TYPE="checkbox" NAME="11">11
<BR> <INPUT TYPE="checkbox" NAME="12">12
<BR> <INPUT TYPE="checkbox" NAME="13">13
<BR> <INPUT TYPE="checkbox" NAME="14">14
<BR><BR>
<INPUT TYPE="checkbox" NAME="2">2
<BR> <INPUT TYPE="checkbox" NAME="21">21
<BR> <INPUT TYPE="checkbox" NAME="22">22
<BR> <INPUT TYPE="checkbox" NAME="23">23
<BR> <INPUT TYPE="checkbox" NAME="24">24
<BR><BR>
<INPUT TYPE="checkbox" NAME="3">3
<BR> <INPUT TYPE="checkbox" NAME="31">31
<BR> <INPUT TYPE="checkbox" NAME="32">32
<BR> <INPUT TYPE="checkbox" NAME="33">33
<BR> <INPUT TYPE="checkbox" NAME="34">34
<BR><BR>
<INPUT TYPE="checkbox" NAME="4">4
<BR> <INPUT TYPE="checkbox" NAME="41">41
<BR> <INPUT TYPE="checkbox" NAME="42">42
<BR> <INPUT TYPE="checkbox" NAME="43">43
<BR> <INPUT TYPE="checkbox" NAME="44">44
<BR><BR>
<INPUT TYPE="checkbox" NAME="5">5
<BR> <INPUT TYPE="checkbox" NAME="51">51
<BR> <INPUT TYPE="checkbox" NAME="52">52
<BR> <INPUT TYPE="checkbox" NAME="53">53
<BR> <INPUT TYPE="checkbox" NAME="54">54
<BR><BR>
<INPUT TYPE="checkbox" NAME="6">6
<BR> <INPUT TYPE="checkbox" NAME="61">61
<BR> <INPUT TYPE="checkbox" NAME="62">62
<BR> <INPUT TYPE="checkbox" NAME="63">63
<BR> <INPUT TYPE="checkbox" NAME="64">64
<BR><BR>
<INPUT TYPE="checkbox" NAME="7">7
<BR> <INPUT TYPE="checkbox" NAME="71">71
<BR> <INPUT TYPE="checkbox" NAME="72">72
<BR> <INPUT TYPE="checkbox" NAME="73">73
<BR> <INPUT TYPE="checkbox" NAME="74">74
<BR><BR>
<INPUT TYPE="checkbox" NAME="8">8
<BR> <INPUT TYPE="checkbox" NAME="81">81
<BR> <INPUT TYPE="checkbox" NAME="82">82
<BR> <INPUT TYPE="checkbox" NAME="83">83
<BR> <INPUT TYPE="checkbox" NAME="84">84
<BR><BR>
<INPUT TYPE="checkbox" NAME="9">9
<BR> <INPUT TYPE="checkbox" NAME="91">91
<BR> <INPUT TYPE="checkbox" NAME="92">92
<BR> <INPUT TYPE="checkbox" NAME="93">93
<BR> <INPUT TYPE="checkbox" NAME="94">94
<BR><BR>
<INPUT TYPE="checkbox" NAME="10">10
<BR> <INPUT TYPE="checkbox" NAME="101">101
<BR> <INPUT TYPE="checkbox" NAME="102">102
<BR> <INPUT TYPE="checkbox" NAME="103">103
<BR> <INPUT TYPE="checkbox" NAME="104">104
<BR><BR>
<INPUT TYPE="checkbox" NAME="11">11
<BR> <INPUT TYPE="checkbox" NAME="111">111
<BR> <INPUT TYPE="checkbox" NAME="112">112
<BR> <INPUT TYPE="checkbox" NAME="113">113
<BR> <INPUT TYPE="checkbox" NAME="114">114
<BR><BR>
<INPUT TYPE="checkbox" NAME="12">12
<BR> <INPUT TYPE="checkbox" NAME="121">121
<BR> <INPUT TYPE="checkbox" NAME="122">122
<BR> <INPUT TYPE="checkbox" NAME="123">123
<BR> <INPUT TYPE="checkbox" NAME="124">124
<BR><BR>
<INPUT TYPE="checkbox" NAME="13">13
<BR> <INPUT TYPE="checkbox" NAME="131">131
<BR> <INPUT TYPE="checkbox" NAME="132">132
<BR> <INPUT TYPE="checkbox" NAME="133">133
<BR> <INPUT TYPE="checkbox" NAME="134">134
<BR><BR>
<INPUT TYPE="checkbox" NAME="14">14
<BR> <INPUT TYPE="checkbox" NAME="141">141
<BR> <INPUT TYPE="checkbox" NAME="142">142
<BR> <INPUT TYPE="checkbox" NAME="143">143
<BR> <INPUT TYPE="checkbox" NAME="144">144
<BR><BR>
<INPUT TYPE="submit" value=" ok ">
<INPUT TYPE="reset" value=" re ">
<INPUT TYPE="checkbox" NAME="all">all
</FORM>
会出错。就是选择第14时,前面的也会自动被选中。可否请你帮我更改.不够可以加分
Top
7 楼saucer(思归)回复于 2002-05-02 18:04:57 得分 0
<script langugage="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
switch (ele.name)
{
case "all":
setCheck(ele,true);
break;
case "1": case "2": case "3": case "4":
case "5": case "6": case "7": case "8":
case "9": case "10": case "11": case "12":
case "13": case "14":
setCheck(ele);
break;
default:
break;
}
}
}
function setCheck(obj, bAll)
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.length == (obj.name.length + 1) && inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>Top
8 楼saucer(思归)回复于 2002-05-02 18:15:09 得分 0
这么取名:
ac
ac1
ac2
ac3
....
bd
bd1
bd2
bd3
....
cx
cx1
cx2
cx3
意思就是,父复选框的名字总是与其它父复选框的名字不同,但其子复选框的名字是以父复选框的名字加数字来命名的
然后试用这脚本:
<script langugage="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
if (ele.name == "all")
setCheck(ele,true);
else if (!/\d+/.test(ele.name))
setCheck(ele);
}
}
function setCheck(obj, bAll)
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>Top
9 楼hiflash(小郑)回复于 2002-05-02 18:17:31 得分 0
还是会出现问题,那就是在选中1时,后面的10、11、12、13、14都会被自动选中,是不是会通过更改名字才可以呢?如果有必要可以在1、2、3、4、5....14前可一个或几个相同的字母,如MTop
10 楼hiflash(小郑)回复于 2002-05-02 18:53:21 得分 0
奇怪,怎么不行啊。父复选框的名字这样可以吧:a1a、a2a、a3a、a4a、a5a.....,为了在服务器好取值,所以命名了有一定的规则,你也可以更改。用a1、a2、a3、a3、a4........
<script language="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
if (ele.name == "all")
setCheck(ele,true);
else if (!/\d+/.test(ele.name))
setCheck(ele);
}
}
function setCheck(obj, bAll)
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="a1a">1
<BR> <INPUT TYPE="checkbox" NAME="a1a1">11
<BR> <INPUT TYPE="checkbox" NAME="a1a2">12
<BR> <INPUT TYPE="checkbox" NAME="a1a3">13
<BR> <INPUT TYPE="checkbox" NAME="a1a4">14
<BR><BR>
<INPUT TYPE="checkbox" NAME="a2a">2
<BR> <INPUT TYPE="checkbox" NAME="a2a1">21
<BR> <INPUT TYPE="checkbox" NAME="a2a2">22
<BR> <INPUT TYPE="checkbox" NAME="a2a3">23
<BR> <INPUT TYPE="checkbox" NAME="a2a4">24
<BR><BR>
<INPUT TYPE="checkbox" NAME="a3a">3
<BR> <INPUT TYPE="checkbox" NAME="a3a1">31
<BR> <INPUT TYPE="checkbox" NAME="a3a2">32
<BR> <INPUT TYPE="checkbox" NAME="a3a3">33
<BR> <INPUT TYPE="checkbox" NAME="a3a4">34
<BR><BR>
<INPUT TYPE="checkbox" NAME="a4a">4
<BR> <INPUT TYPE="checkbox" NAME="a4a1">41
<BR> <INPUT TYPE="checkbox" NAME="a4a2">42
<BR> <INPUT TYPE="checkbox" NAME="a4a3">43
<BR> <INPUT TYPE="checkbox" NAME="a4a4">44
<BR><BR>
<INPUT TYPE="checkbox" NAME="a5a">5
<BR> <INPUT TYPE="checkbox" NAME="a5a1">51
<BR> <INPUT TYPE="checkbox" NAME="a5a2">52
<BR> <INPUT TYPE="checkbox" NAME="a5a3">53
<BR> <INPUT TYPE="checkbox" NAME="a5a4">54
<BR><BR>
<INPUT TYPE="checkbox" NAME="a6a">6
<BR> <INPUT TYPE="checkbox" NAME="a6a1">61
<BR> <INPUT TYPE="checkbox" NAME="a6a2">62
<BR> <INPUT TYPE="checkbox" NAME="a6a3">63
<BR> <INPUT TYPE="checkbox" NAME="a6a4">64
<BR><BR>
<INPUT TYPE="checkbox" NAME="a7a">7
<BR> <INPUT TYPE="checkbox" NAME="a7a1">71
<BR> <INPUT TYPE="checkbox" NAME="a7a2">72
<BR> <INPUT TYPE="checkbox" NAME="a7a3">73
<BR> <INPUT TYPE="checkbox" NAME="a7a4">74
<BR><BR>
<INPUT TYPE="checkbox" NAME="a8a">8
<BR> <INPUT TYPE="checkbox" NAME="a8a1">81
<BR> <INPUT TYPE="checkbox" NAME="a8a2">82
<BR> <INPUT TYPE="checkbox" NAME="a8a3">83
<BR> <INPUT TYPE="checkbox" NAME="a8a4">84
<BR><BR>
<INPUT TYPE="checkbox" NAME="a9a">9
<BR> <INPUT TYPE="checkbox" NAME="a9a1">91
<BR> <INPUT TYPE="checkbox" NAME="a9a2">92
<BR> <INPUT TYPE="checkbox" NAME="a9a3">93
<BR> <INPUT TYPE="checkbox" NAME="a9a4">94
<BR><BR>
<INPUT TYPE="checkbox" NAME="a10a">10
<BR> <INPUT TYPE="checkbox" NAME="a10a1">101
<BR> <INPUT TYPE="checkbox" NAME="a10a2">102
<BR> <INPUT TYPE="checkbox" NAME="a10a3">103
<BR> <INPUT TYPE="checkbox" NAME="a10a4">104
<BR><BR>
<INPUT TYPE="checkbox" NAME="a11a">11
<BR> <INPUT TYPE="checkbox" NAME="a11a1">111
<BR> <INPUT TYPE="checkbox" NAME="a11a2">112
<BR> <INPUT TYPE="checkbox" NAME="a11a3">113
<BR> <INPUT TYPE="checkbox" NAME="a11a4">114
<BR><BR>
<INPUT TYPE="checkbox" NAME="a12a">12
<BR> <INPUT TYPE="checkbox" NAME="a12a1">121
<BR> <INPUT TYPE="checkbox" NAME="a12a2">122
<BR> <INPUT TYPE="checkbox" NAME="a12a3">123
<BR> <INPUT TYPE="checkbox" NAME="a12a4">124
<BR><BR>
<INPUT TYPE="checkbox" NAME="a13a">13
<BR> <INPUT TYPE="checkbox" NAME="a13a1">131
<BR> <INPUT TYPE="checkbox" NAME="a13a2">132
<BR> <INPUT TYPE="checkbox" NAME="a13a3">133
<BR> <INPUT TYPE="checkbox" NAME="a13a4">134
<BR><BR>
<INPUT TYPE="checkbox" NAME="a14a">14
<BR> <INPUT TYPE="checkbox" NAME="a14a1">141
<BR> <INPUT TYPE="checkbox" NAME="a14a2">142
<BR> <INPUT TYPE="checkbox" NAME="a14a3">143
<BR> <INPUT TYPE="checkbox" NAME="a14a4">144
<BR><BR>
<INPUT TYPE="submit" value=" ok ">
<INPUT TYPE="reset" value=" re ">
<INPUT TYPE="checkbox" NAME="all">all
</FORM>
Top
11 楼hiflash(小郑)回复于 2002-05-02 20:48:02 得分 0
可以了,只要在子复选框的名字中加一个“_”就可以了。如
1
1_2
1_3
1_3
1_4
1_5
2
2_2
2_3
2_3
2_4
2_5
再次感谢你的帮助。Top
12 楼saucer(思归)回复于 2002-05-02 21:14:59 得分 0
or
<script language="javascript">
function document.onclick()
{
var ele = event.srcElement;
if (ele.tagName == "INPUT" && ele.type == "checkbox")
{
if (ele.name == "all")
setCheck(ele,true);
else if (!/\d+$/.test(ele.name)) //name does not end with numbers
setCheck(ele);
}
}
function setCheck(obj, bAll)
{
var inputs = obj.form.elements; //document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
if (bAll)
inputs[i].checked = obj.checked;
else if (inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked;
}
}
}
</script>Top




