页面是这样的:
一个文本框,三个复选框,下面代码
<input type="text" name="applyKT.reimbursed" size="30" />//文本框<input type="checkbox" name="flag" value="1" onclick="checkItem(this, 'allflag')">已立项<br />
<input type="checkbox" name="flag" value="0" onclick="checkItem(this, 'allflag')">已结题<br />
<input type="checkbox" name="allflag" value="true" onclick="checkAll(this, 'flag')">已报账<br />
我的要求如下:选择了"已报账",其它的复选框也被选上了,而“文本框”没变化(如果前两个有一个被选上,选“已报账”,还是被选上)。如果已经全部选上了,如果再选“已报账”(这时“已报账”未选上),前两个要求没有变化(仍然被选上),此时“文本框”显示"0";“已报账”未选上,而去选择“已结题”,此时“已立项”也会被选择,
不知道我的问题描述清楚没有?我都不知道如何下手。下面有一段代码:只能实现全部选和反选function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
一个文本框,三个复选框,下面代码
<input type="text" name="applyKT.reimbursed" size="30" />//文本框<input type="checkbox" name="flag" value="1" onclick="checkItem(this, 'allflag')">已立项<br />
<input type="checkbox" name="flag" value="0" onclick="checkItem(this, 'allflag')">已结题<br />
<input type="checkbox" name="allflag" value="true" onclick="checkAll(this, 'flag')">已报账<br />
我的要求如下:选择了"已报账",其它的复选框也被选上了,而“文本框”没变化(如果前两个有一个被选上,选“已报账”,还是被选上)。如果已经全部选上了,如果再选“已报账”(这时“已报账”未选上),前两个要求没有变化(仍然被选上),此时“文本框”显示"0";“已报账”未选上,而去选择“已结题”,此时“已立项”也会被选择,
不知道我的问题描述清楚没有?我都不知道如何下手。下面有一段代码:只能实现全部选和反选function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkAll(isChecked, itemName,_input)
{ if(isChecked){
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = true;
}else{
document.getElementById(_input).value = "0" ;
}
}
function checkItem(obj,flag)
{
if(obj.checked){
var all = document.getElementsByName(flag);
for (var i=0; i<all.length; i++)
all[i].checked = true;
}
}
//-->
</SCRIPT>
<BODY>
<input type="text" id="_input" name="applyKT.reimbursed" size="30" />//文本框
<br>
<input type="checkbox" name="flag" value="1">已立项<br />
<input type="checkbox" name="flag" value="0" onclick="checkItem(this,'flag')">已结题<br />
<input type="checkbox" name="allflag" value="true" onclick="checkAll(this.checked, 'flag','_input')">已报账<br />
</BODY>
</HTML>