页面是这样的:
一个文本框,三个复选框,下面代码
<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;   
  }   
}  

解决方案 »

  1.   

    如果只是你说的这些功能,这样就可以,如果还有其他功能,可以再修改下<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <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>