<input type=checkbox name=d onclick="cc(this)"><br>
&nbsp; <input type=checkbox name=mm value=a onclick="document.all.d.checked=this.checked"><br>
&nbsp; <input type=checkbox name=mm value=b onclick="document.all.d.checked=this.checked"><br>
&nbsp; <input type=checkbox name=mm value=c onclick="document.all.d.checked=this.checked"><br>
&nbsp; <input type=checkbox name=mm value=d onclick="document.all.d.checked=this.checked"><br>
&nbsp; <input type=checkbox name=mm value=e onclick="document.all.d.checked=this.checked"><br><script language=Javascript>
function cc(tt)
{
  var aa = document.getElementsByName("mm");
  var bb = tt.checked; //得到那个总控的复选框的选中状态
  for (var i=0; i<aa.length; i++)
      aa[i].checked = bb;
}
</script>

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function mychk(obj,idx){
    if (obj.name.indexOf("_")==-1) { //父checkbox
    if (obj.checked){
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=true;
    }
    } else {
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=false;
    }
    }
    } else { //子checkbox
    var pObj = document.all(obj.name.split("_")[0]);
    if (obj.checked)
    pObj.checked=true;
    }
    }
    //-->
    </SCRIPT>
    <INPUT TYPE="checkbox" NAME="chk0" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_0" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_1" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_2" onclick="mychk(this,3);"><BR>
    <INPUT TYPE="checkbox" NAME="chk1" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_0" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_1" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_2" onclick="mychk(this,3);"><BR>
      

  2.   

    meizz(梅花雨) :你这样不是只能传递一个mm的值gzh_seagull(不可) :我要的是当第二,第三....任何一个取消选中的时候,第一也取消选中
      

  3.   

    修改一下函数就可以了function mychk(obj,idx){
    if (obj.name.indexOf("_")==-1) { //父checkbox
    if (obj.checked){
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=true;
    }
    } else {
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=false;
    }
    }
    } else { //子checkbox
    var pObj = document.all(obj.name.split("_")[0]);
    if (obj.checked) {
    pObj.checked=true;
    } else {
    pObj.checked=false;
    }
    }
    }
      

  4.   

    gzh_seagull(不可):当第一没选中的时候,点击第二,第三.....,第一不变
    只有第一选中以后,才出现我要的效果
      

  5.   

    <HTML>
    <HEAD></head>
    <body>
    <input type=checkbox name=d onclick="cc(this,0)"><br>
    &nbsp; <input type=checkbox name=mm value=a onclick="cc(this,1)"><br>
    &nbsp; <input type=checkbox name=mm value=b onclick="cc(this,1)"><br>
    &nbsp; <input type=checkbox name=mm value=c onclick="cc(this,1)"><br>
    &nbsp; <input type=checkbox name=mm value=d onclick="cc(this,1)"><br>
    &nbsp; <input type=checkbox name=mm value=e onclick="cc(this,1)"><br>
    <script language=Javascript>
    function cc(tt,key)
    {
    var aa = document.getElementsByName("mm");if(key==0){
     
      var bb = tt.checked; //得到那个总控的复选框的选中状态
      for (var i=0; i<aa.length; i++)
          aa[i].checked = bb;
    }else if (key==1){
    if(tt.checked){
    var j=0;
    for (var i=0; i<aa.length; i++)
    if(aa[i].checked)
    j++if(j==aa.length) document.all.d.checked=true;}
    else{document.all.d.checked=false}
    }
    }
    </script></BODY>
    </HTML>
      

  6.   

    ssm1226(雨中人);当第一没选中的时候,点击第二,第三.....,第一不变。
    这样是不是只能得到一个mm的值呢麻烦你了
      

  7.   

    重新贴一个改过的<SCRIPT LANGUAGE="JavaScript">
    <!--
    function mychk(obj,idx){
    if (obj.name.indexOf("_")==-1) { //父checkbox
    if (obj.checked){
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=true;
    }
    } else {
    for (var i=0;i<idx;i++){
    var sObj = document.all(obj.name+"_"+i);
    sObj.checked=false;
    }
    }
    } else { //子checkbox
    var pObj = document.all(obj.name.split("_")[0]);
    var flag = true;
    if (obj.checked) {
    pObj.checked=true;
    } else {
    for (var i=0;i<idx;i++){
    var sObj = document.all(pObj.name+"_"+i);
    if (sObj.checked) {
    flag=false;
    break;
    }
    }
    if (flag)
    pObj.checked=false;
    }
    }
    }
    //-->
    </SCRIPT>
    <INPUT TYPE="checkbox" NAME="chk0" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_0" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_1" onclick="mychk(this,3);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0_2" onclick="mychk(this,3);"><BR>
    <INPUT TYPE="checkbox" NAME="chk1" onclick="mychk(this,4);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_0" onclick="mychk(this,4);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_1" onclick="mychk(this,4);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_2" onclick="mychk(this,4);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1_3" onclick="mychk(this,4);"><BR>
      

  8.   

    meizz(梅花雨) :你这样不是只能传递一个mm的值??你要在什么地方得到?在本页没有问题,若是放在表单里提交的话,只要是打勾的复选框都可以传值到后台页面,后台 request("mm") 得到是类似于这种形式的一个字串:a, b, c, d, e
      

  9.   

    gzh_seagull(不可):当所有的都没有选的时候,点击第二或者第三或者....,第一都会选中,我要的是第一不便
      

  10.   

    meizz(梅花雨) :我是放在表单里提交的,而且mm我是通过循环负的值,是mm[]这样的形式,而且不知道有几个,我用你的方法,只得到了一个的值
      

  11.   

    meizz(梅花雨) :而且当所有分框都选中的时候,第一也选中,我不要这样的效果,麻烦你在帮我想想办法
      

  12.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function mychk(obj,isParent){
    if (isParent){ //父checkbox
    var tmp = obj.name+"[]";
    var chklst = document.all(tmp);
    if (obj.checked){
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=true;
    }
    } else {
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=false;
    }
    }
    } else { //子checkbox
    var pObj = document.all(obj.name.split("[")[0]);
    if (!obj.checked) {
    pObj.checked=false;
    }
    }
    }
    //-->
    </SCRIPT>
    <INPUT TYPE="checkbox" NAME="chk0" onclick="mychk(this,true);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0[]" onclick="mychk(this,false);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0[]" onclick="mychk(this,false);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk0[]" onclick="mychk(this,false);"><BR>
    <INPUT TYPE="checkbox" NAME="chk1" onclick="mychk(this,true);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1[]" onclick="mychk(this,false);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1[]" onclick="mychk(this,false);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1[]" onclick="mychk(this,false);"><BR>
    &nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="checkbox" NAME="chk1[]" onclick="mychk(this,false);"><BR>
      

  13.   

    to 楼主:同名checkbox,只要选中,获取值形式为:a,b,c.......未选中,获取不到
      

  14.   

    ssm1226(雨中人);当第一没选中的时候,点击第二,第三.....,第一不变。
    这样是不是只能得到一个mm的值呢=================================================================
    我的程序,是:如果全选,则选中,第一获取值的数目与第一的是否选中无关,而与第二,第三........选中的数目有关
      

  15.   

    gzh_seagull(不可) :
    for (var i=0;i<chklst.length;i++){
    这样报错,‘缺少对象‘
      

  16.   

    gzh_seagull(不可) :我用php循环负的变量,‘第一‘的变量是_set_year[]不知道有几个,也不知道他有没有‘第二,第三....’,我通过php负给了一个script的变量,你帮我看一下,该如何做
    <script>
    var yearinfo;
    yearinfo = new Array();
    yearinfo[0] = new Array();
    yearinfo[0]['year'] = 2010;
    yearinfo[1] = new Array();
    yearinfo[1]['year'] = 2009;
    yearinfo[1]['term'] = new Array();
    yearinfo[1]['term'][0] = 1;
    yearinfo[1]['term'] = new Array();
    yearinfo[1]['term'][1] = 2;
    yearinfo[2] = new Array();
    yearinfo[2]['year'] = 2008;
    yearinfo[2]['term'] = new Array();
    yearinfo[2]['term'][0] = 1;
    yearinfo[3] = new Array();
    yearinfo[3]['year'] = 2007;
    yearinfo[4] = new Array();
    yearinfo[4]['year'] = 2005;
    yearinfo[5] = new Array();
    yearinfo[5]['year'] = 2004;
    yearinfo[6] = new Array();
    yearinfo[6]['year'] = 2003;
    yearinfo[6]['term'] = new Array();
    yearinfo[6]['term'][0] = 1;
    yearinfo[7]['term'] = new Array();
    yearinfo[7]['term'][1] = 2;
    yearinfo[7]['term'] = new Array();
    yearinfo[7]['term'][2] = 3;
    yearinfo[7]['term'] = new Array();
    yearinfo[7]['term'][3] = 4;
    </script>这是所有的数据,做出你的效果来就行了,帮帮忙了,谢谢了
      

  17.   

    错了,数据是这样的
    <script>
    var yearinfo;
    yearinfo = new Array();
    yearinfo[0] = new Array();
    yearinfo[0]['year'] = 2010;
    yearinfo[0]['term'] = '';
    yearinfo[1] = new Array();
    yearinfo[1]['year'] = 2009;
    yearinfo[1]['term'] = new Array();
    yearinfo[1]['term'][0] = 1;
    yearinfo[1]['term'][1] = 2;
    yearinfo[2] = new Array();
    yearinfo[2]['year'] = 2008;
    yearinfo[2]['term'] = new Array();
    yearinfo[2]['term'][0] = 1;
    yearinfo[3] = new Array();
    yearinfo[3]['year'] = 2007;
    yearinfo[3]['term'] = '';
    yearinfo[4] = new Array();
    yearinfo[4]['year'] = 2005;
    yearinfo[4]['term'] = '';
    yearinfo[5] = new Array();
    yearinfo[5]['year'] = 2004;
    yearinfo[5]['term'] = '';
    yearinfo[6] = new Array();
    yearinfo[6]['year'] = 2003;
    yearinfo[6]['term'] = new Array();
    yearinfo[6]['term'][0] = 1;
    yearinfo[7]['term'] = new Array();
    yearinfo[7]['term'][0] = 1;
    yearinfo[7]['term'][1] = 2;
    yearinfo[7]['term'][2] = 3;
    yearinfo[7]['term'][3] = 4;
    </script>
      

  18.   

    这些数据是什么回事,用不了!!
    alert(yearinfo)看看是什么!!!
      

  19.   

    为什么要输出数组呢?直接输出checkbox的列表不就可以了.
    把你用php生成数组的代码贴出来,我帮你改改.
      

  20.   

    这是$year_info的数据:
    Array
    (
        [2010] => Array
            (
                [data] => Array
                    (
                        [year_id] => 11
                        [year_name] => 2010
                        [year_start_date] => 2010-09-01
                        [year_end_date] => 2011-07-15
                    )            [term] => 
            )    [2009] => Array
            (
                [data] => Array
                    (
                        [year_id] => 10
                        [year_name] => 2009
                        [year_start_date] => 2009-09-01
                        [year_end_date] => 2010-07-15
                    )            [term] => Array
                    (
                        [1] => Array
                            (
                                [term_id] => 10
                                [term_no] => 1
                                [term_name] => 第1学期
                                [term_start_date] => 2009-09-30
                                [term_end_date] => 2010-01-31
                                [in_year] => 10
                            )                    [2] => Array
                            (
                                [term_id] => 11
                                [term_no] => 2
                                [term_name] => 第2学期
                                [term_start_date] => 2010-03-01
                                [term_end_date] => 2010-05-15
                                [in_year] => 10
                            )                )        )    [2008] => Array
            (
                [data] => Array
                    (
                        [year_id] => 9
                        [year_name] => 2008
                        [year_start_date] => 2008-09-01
                        [year_end_date] => 2009-07-15
                    )            [term] => Array
                    (
                        [1] => Array
                            (
                                [term_id] => 14
                                [term_no] => 1
                                [term_name] => 第1学期
                                [term_start_date] => 2008-09-01
                                [term_end_date] => 2009-02-01
                                [in_year] => 9
                            )                )        )    [2007] => Array
            (
                [data] => Array
                    (
                        [year_id] => 7
                        [year_name] => 2007
                        [year_start_date] => 2007-09-01
                        [year_end_date] => 2008-07-15
                    )            [term] => 
            )    [2005] => Array
            (
                [data] => Array
                    (
                        [year_id] => 6
                        [year_name] => 2005
                        [year_start_date] => 2005-09-01
                        [year_end_date] => 2006-07-15
                    )            [term] => 
            )    [2004] => Array
            (
                [data] => Array
                    (
                        [year_id] => 5
                        [year_name] => 2004
                        [year_start_date] => 2004-09-01
                        [year_end_date] => 2005-07-15
                    )            [term] => 
            )    [2003] => Array
            (
                [data] => Array
                    (
                        [year_id] => 4
                        [year_name] => 2003
                        [year_start_date] => 2003-09-01
                        [year_end_date] => 2004-07-15
                    )            [term] => Array
                    (
                        [1] => Array
                            (
                                [term_id] => 5
                                [term_no] => 1
                                [term_name] => 第1学期
                                [term_start_date] => 2003-09-01
                                [term_end_date] => 2004-02-01
                                [in_year] => 4
                            )                )        )    [2002] => Array
            (
                [data] => Array
                    (
                        [year_id] => 3
                        [year_name] => 2002
                        [year_start_date] => 2002-09-01
                        [year_end_date] => 2003-07-15
                    )            [term] => Array
                    (
                        [1] => Array
                            (
                                [term_id] => 7
                                [term_no] => 1
                                [term_name] => 第1学期
                                [term_start_date] => 2002-09-01
                                [term_end_date] => 2002-12-18
                                [in_year] => 3
                            )                    [2] => Array
                            (
                                [term_id] => 8
                                [term_no] => 2
                                [term_name] => 第2学期
                                [term_start_date] => 2003-03-01
                                [term_end_date] => 2003-04-01
                                [in_year] => 3
                            )                    [3] => Array
                            (
                                [term_id] => 9
                                [term_no] => 3
                                [term_name] => 第3学期
                                [term_start_date] => 2003-04-02
                                [term_end_date] => 2003-06-01
                                [in_year] => 3
                            )                    [4] => Array
                            (
                                [term_id] => 13
                                [term_no] => 4
                                [term_name] => 第4学期
                                [term_start_date] => 2003-06-02
                                [term_end_date] => 2003-07-15
                                [in_year] => 3
                            )                )        )    [2001] => Array
            (
                [data] => Array
                    (
                        [year_id] => 2
                        [year_name] => 2001
                        [year_start_date] => 2001-09-01
                        [year_end_date] => 2002-07-01
                    )            [term] => 
            )    [2000] => Array
            (
                [data] => Array
                    (
                        [year_id] => 1
                        [year_name] => 2000
                        [year_start_date] => 2000-09-01
                        [year_end_date] => 2001-07-01
                    )            [term] => Array
                    (
                        [1] => Array
                            (
                                [term_id] => 1
                                [term_no] => 1
                                [term_name] => 第1学期
                                [term_start_date] => 2000-09-01
                                [term_end_date] => 2001-02-01
                                [in_year] => 1
                            )                    [2] => Array
                            (
                                [term_id] => 2
                                [term_no] => 2
                                [term_name] => 第2学期
                                [term_start_date] => 2001-03-01
                                [term_end_date] => 2001-06-01
                                [in_year] => 1
                            )                )        ))
      

  21.   

    这是我的代码:$year      = date('Y-m-d', $_HY_ENV['time']);
    $hy_year   = new hy_year();
    $year_info = $hy_year->listYearTerm();
    $result    = '';
    if ($year_info) {
    $script = "
    <script>
    var yearinfo;
    yearinfo = new Array();";
    $year1 = '';
    foreach ($year_info as $key => $value) {
    $year1 .= $key . ',';
    }
    $year1 = substr($year1, 0, -1);
    $year1 = explode(',', $year1);
    $count = count($year1);
    $html  = "
    <table width=98% border='0' cellspacing='0' cellpadding='6' class='title'>
             <tr>
    <td><b>以下是本校所有年度及学期的列表</b></td>
    </tr>
    </table>";
    $td = '';
    for ($i=0; $i<$count; $i++) {
    $script .= "
    yearinfo[$i] = new Array();";
    if ($year_info[$year1[$i]]['data']['year_start_date'] > $year) {
    $script .= "
    yearinfo[$i]['year'] = $year1[$i];";
    $td    = "[未启用]";
    $input = "<input type='checkbox' name='_del_year_' value='{$year_info[$year1[$i]]['data']['year_id']}'>";
    } else {
    if ($year_info[$year1[$i]]['data']['year_end_date'] >= $year) {
    $td    = "[正在使用]";
    $input = '';
    } else {
    $td    = "[已结束]";
    $input = '';
    }
    }
    $year_start = explode('-', $year_info[$year1[$i]]['data']['year_start_date']);
    $year_end   = explode('-', $year_info[$year1[$i]]['data']['year_end_date']);
    $html .= "
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>{$input}{$year1[$i]}年度&nbsp;
    {$year_start[0]}年{$year_start[1]}月{$year_start[2]}日 -
    {$year_end[0]}年{$year_end[1]}月{$year_end[2]}日&nbsp;
    {$td}</td>
    </tr>
    </table>";
    if ($year_info[$year1[$i]]['term']) {
    $term = '';
    foreach ($year_info[$year1[$i]]['term'] as $key => $value) {
    $term .= $key . ',';
    }
    $term       = substr($term, 0, -1);
    $term       = explode(',', $term);
    $term_count = count($year_info[$year1[$i]]['term']);
    $tr         = '';
    $script .= "yearinfo[$i]['term'] = new Array();";
    for ($j=0; $j<$term_count; $j++) {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_start_date'] > $year) {
    $script .= "
    yearinfo[$i]['term'][$j] = {$year_info[$year1[$i]]['term'][$term[$j]]['term_id']};";
    $tr         = "[未启用]";
    $term_input = "<input type='checkbox' name='_del_term_' value='{$year_info[$year1[$i]]['term'][$term[$j]]['term_id']}'>";
    } else {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_end_date'] >= $year) {
    $tr         = "[正在使用]";
    $term_input = '';
    } else {
    $tr         = "[已结束]";
    $term_input = '';
    }
    }
    $term_start = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_start_date']);
    $term_end   = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_end_date']);
    $html .= "
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>{$term_input}{$year_info[$year1[$i]]['term'][$term[$j]]['term_name']}&nbsp;
    {$term_start[0]}年{$term_start[1]}月{$term_start[2]}日 -
    {$term_end[0]}年{$term_end[1]}月{$term_end[2]}日&nbsp;
    {$tr}&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>";
    }
    } else {
    $script .= "yearinfo[$i]['term'] = '';";
    }
    }
    $script .= "</script>";
      

  22.   

    js中的数组有别的用处吗?实现你问题的功能不需要js数组
      

  23.   

    这是我修改的,改的地方有注释<?php
    $year      = date('Y-m-d', $_HY_ENV['time']);
    $hy_year   = new hy_year();
    $year_info = $hy_year->listYearTerm();
    $result    = '';
    if ($year_info) {
    $script = "<script>var yearinfo;yearinfo = new Array();";
    $year1 = '';
    foreach ($year_info as $key => $value) {
    $year1 .= $key . ',';
    }
    $year1 = substr($year1, 0, -1);
    $year1 = explode(',', $year1);
    $count = count($year1);
    $html  = "<table width=98% border='0' cellspacing='0' cellpadding='6' class='title'><tr> <td><b>以下是本校所有年度及学期的列表</b></td></tr></table>";
    $td = '';
    for ($i=0; $i<$count; $i++) {
    $script .= "yearinfo[$i] = new Array();";
    if ($year_info[$year1[$i]]['data']['year_start_date'] > $year) {
    $script .= "yearinfo[$i]['year'] = $year1[$i];";
    $td    = "[未启用]";
    $input = "<input type='checkbox' name='_del_year_' value='{$year_info[$year1[$i]]['data']['year_id']}' onclick='mychk(this,true)'>"; //这里我改了
    } else {
    if ($year_info[$year1[$i]]['data']['year_end_date'] >= $year) {
    $td    = "[正在使用]";
    $input = '';
    } else {
    $td    = "[已结束]";
    $input = '';
    }
    }
    $year_start = explode('-', $year_info[$year1[$i]]['data']['year_start_date']);
    $year_end   = explode('-', $year_info[$year1[$i]]['data']['year_end_date']);
    $html .= "<table width=98% border='0' cellspacing='0' cellpadding='4' class='content'><tr><td>{$input}{$year1[$i]}年度&nbsp; {$year_start[0]}年{$year_start[1]}月{$year_start[2]}日 - {$year_end[0]}年{$year_end[1]}月{$year_end[2]}日&nbsp;{$td}</td></tr></table>";
    if ($year_info[$year1[$i]]['term']) {
    $term = '';
    foreach ($year_info[$year1[$i]]['term'] as $key => $value) {
    $term .= $key . ',';
    }
    $term       = substr($term, 0, -1);
    $term       = explode(',', $term);
    $term_count = count($year_info[$year1[$i]]['term']);
    $tr         = '';
    $script .= "yearinfo[$i]['term'] = new Array();";
    for ($j=0; $j<$term_count; $j++) {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_start_date'] > $year) {
    $script .= "yearinfo[$i]['term'][$j] = {$year_info[$year1[$i]]['term'][$term[$j]]['term_id']};";
    $tr         = "[未启用]";
    $term_input = "<input type='checkbox' name='_del_term_' value='{$year_info[$year1[$i]]['term'][$term[$j]]['term_id']}' onclick='mychk(this,false)'>"; //这里我改了
    } else {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_end_date'] >= $year) {
    $tr         = "[正在使用]";
    $term_input = '';
    } else {
    $tr         = "[已结束]";
    $term_input = '';
    }
    }
    $term_start = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_start_date']);
    $term_end   = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_end_date']);
    $html .= "<table width=98% border='0' cellspacing='0' cellpadding='0'><tr><td width=10%>&nbsp;</td><td><table width=100% border='0' cellspacing='0' cellpadding='4' class='content'><tr> <td>{$term_input}{$year_info[$year1[$i]]['term'][$term[$j]]['term_name']}&nbsp;{$term_start[0]}年{$term_start[1]}月{$term_start[2]}日 -{$term_end[0]}年{$term_end[1]}月{$term_end[2]}日&nbsp;{$tr}&nbsp;</td></tr></table> </td></tr></table>";
    }
    } else {
    $script .= "yearinfo[$i]['term'] = '';";
    }
    }
    $script .= "</script>";
    ?>
    把下面的函数加到你的js中function mychk(obj,isParent){
    if (isParent){ //父checkbox
    var chklst = obj.parentElement.parentElement.nextSibling.all("_del_term_")
    if (obj.checked){
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=true;
    }
    } else {
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=false;
    }
    }
    } else { //子checkbox
    var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;
    var pObj = tr.parentElement.rows[tr.rowIndex-1].all("_del_year_");
    if (!obj.checked) {
    pObj.checked=false;
    }
    }
    }
      

  24.   

    "parentElement.parentElement.nextSibling"不是对象我要把
    function mychk(obj,isParent){
    if (isParent){ //父checkbox
    var chklst = obj.parentElement.parentElement.nextSibling.all("_del_term_")
    if (obj.checked){
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=true;
    }
    } else {
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=false;
    }
    }
    } else { //子checkbox
    var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;
    var pObj = tr.parentElement.rows[tr.rowIndex-1].all("_del_year_");
    if (!obj.checked) {
    pObj.checked=false;
    }
    }
    }
    加到$script .= "</script>";里面
      

  25.   

    我把测试的代码贴出来,看看html代码和你的有什么不同
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function mychk(obj,isParent){
    if (isParent){ //父checkbox
    var chklst = obj.parentElement.parentElement.nextSibling.all("_del_term_")
    if (obj.checked){
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=true;
    }
    } else {
    for (var i=0;i<chklst.length;i++){
    chklst[i].checked=false;
    }
    }
    } else { //子checkbox
    var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;
    var pObj = tr.parentElement.rows[tr.rowIndex-1].all("_del_year_");
    if (!obj.checked) {
    pObj.checked=false;
    }
    }
    }
    //-->
    </SCRIPT>
    <TABLE>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_year_" onclick="mychk(this,true);"></TD>
    </TR>
    <TR>
    <TD><TABLE>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    </TABLE></TD>
    </TR>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_year_" onclick="mychk(this,true);"></TD>
    </TR>
    <TR>
    <TD><TABLE>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    <TR>
    <TD><INPUT TYPE="checkbox" NAME="_del_term_" onclick="mychk(this,false);"></TD>
    </TR>
    </TABLE></TD>
    </TR>
    </TABLE>
      

  26.   

    又改良了,试试,修改的地方又注释这是我修改的,改的地方有注释<?php
    $year      = date('Y-m-d', $_HY_ENV['time']);
    $hy_year   = new hy_year();
    $year_info = $hy_year->listYearTerm();
    $result    = '';
    if ($year_info) {
    $script = "<script>var yearinfo;yearinfo = new Array();";
    $year1 = '';
    foreach ($year_info as $key => $value) {
    $year1 .= $key . ',';
    }
    $year1 = substr($year1, 0, -1);
    $year1 = explode(',', $year1);
    $count = count($year1);
    $html  = "<table width=98% border='0' cellspacing='0' cellpadding='6' class='title'><tr> <td><b>以下是本校所有年度及学期的列表</b></td></tr></table>";
    $td = '';
    for ($i=0; $i<$count; $i++) {
    $script .= "yearinfo[$i] = new Array();";
    if ($year_info[$year1[$i]]['data']['year_start_date'] > $year) {
    $script .= "yearinfo[$i]['year'] = $year1[$i];";
    $td    = "[未启用]";
    $input = "<input type='checkbox' name='_del_year_' value='{$year_info[$year1[$i]]['data']['year_id']}' onclick='mychk(this,true)'>"; //这里我改了
    } else {
    if ($year_info[$year1[$i]]['data']['year_end_date'] >= $year) {
    $td    = "[正在使用]";
    $input = '';
    } else {
    $td    = "[已结束]";
    $input = '';
    }
    }
    $year_start = explode('-', $year_info[$year1[$i]]['data']['year_start_date']);
    $year_end   = explode('-', $year_info[$year1[$i]]['data']['year_end_date']);
    $html .= "<table width=98% border='0' cellspacing='0' cellpadding='4' class='content'><tr><td>{$input}{$year1[$i]}年度&nbsp; {$year_start[0]}年{$year_start[1]}月{$year_start[2]}日 - {$year_end[0]}年{$year_end[1]}月{$year_end[2]}日&nbsp;{$td}</td></tr>";  //又改了这里
    if ($year_info[$year1[$i]]['term']) {
    $term = '';
    foreach ($year_info[$year1[$i]]['term'] as $key => $value) {
    $term .= $key . ',';
    }
    $term       = substr($term, 0, -1);
    $term       = explode(',', $term);
    $term_count = count($year_info[$year1[$i]]['term']);
    $tr         = '';
    $script .= "yearinfo[$i]['term'] = new Array();";
    for ($j=0; $j<$term_count; $j++) {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_start_date'] > $year) {
    $script .= "yearinfo[$i]['term'][$j] = {$year_info[$year1[$i]]['term'][$term[$j]]['term_id']};";
    $tr         = "[未启用]";
    $term_input = "<input type='checkbox' name='_del_term_' value='{$year_info[$year1[$i]]['term'][$term[$j]]['term_id']}' onclick='mychk(this,false)'>"; //这里我改了
    } else {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_end_date'] >= $year) {
    $tr         = "[正在使用]";
    $term_input = '';
    } else {
    $tr         = "[已结束]";
    $term_input = '';
    }
    }
    $term_start = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_start_date']);
    $term_end   = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_end_date']);
    $html .= "<tr><td><table width=98% border='0' cellspacing='0' cellpadding='0'><tr><td width=10%>&nbsp;</td><td><table width=100% border='0' cellspacing='0' cellpadding='4' class='content'><tr> <td>{$term_input}{$year_info[$year1[$i]]['term'][$term[$j]]['term_name']}&nbsp;{$term_start[0]}年{$term_start[1]}月{$term_start[2]}日 -{$term_end[0]}年{$term_end[1]}月{$term_end[2]}日&nbsp;{$tr}&nbsp;</td></tr></table> </td></tr></table></td></tr></table>"; //又改了这里
    }
    } else {
    $script .= "yearinfo[$i]['term'] = '';";
    }
    }
    $script .= "</script>";
    ?>
      

  27.   

    我希望你能把js代码加到$script .= "</script>";里面去
      

  28.   


    $script .= "function mychk(obj,isParent){ if (isParent){ var chklst = obj.parentElement.parentElement.nextSibling.all('_del_term_'); if (obj.checked){ for (var i=0;i<chklst.length;i++){ chklst[i].checked=true; } } else { for (var i=0;i<chklst.length;i++){ chklst[i].checked=false; }}} else { var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; var pObj = tr.parentElement.rows[tr.rowIndex-1].all('_del_year_'); if (!obj.checked) { pObj.checked=false; }}}</script>"
      

  29.   

    to wangxiangjun_sun () 
    以后不要老是让别人帮你改代码,给你一个思路你应该自己试试,这样才能学到东西.
      

  30.   

    主要是我对js还只是一知半解,谢谢你的帮助,但是还是不对啊
    第一个错误"parentElement.parentElement.nextSibling不是对象";
    第二个错误"parentElement.rows[...]不是对象";
      

  31.   

    $result = "
    $script
    <form name='from_del_term' method=post action='{$_HY_ENV['prog_self']}' onSubmit='return this.checkPost()'>" . jsPostForm() . jsError() .
    // +----------------------------------------------------+
    // | 验证表单数据,并防止重复提交 (调用PHP函数) |
    jsCheckForm(array('form_name' => 'from_del_term',
      'js_code'   => "
    if (!confirm('aa')) {
    return false;
    }
    ")) .
    // +----------------------------------------------------+
    "
    $html
    <table width=98% border='0' cellspacing='0' cellpadding='6' class='footer'>
    <tr>
    <td align='center'>
    <input type=submit name=submit value='将选中的学年或学期删除' style='font-weight: bold; cursor: hand'>&nbsp;&nbsp;
    <input type=reset name=reset value='重 填'>
    <input type=hidden name=post value='1'>
    <input type=hidden name=page value='$page'>
    </td>
    </tr>
    </table>
    </from>";
    就这些了
      

  32.   

    <html>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
    <title></title>
    <style>
    A:link {
    TEXT-DECORATION: none;
    COLOR: #DDDDFF;
    }
    A:visited {
    TEXT-DECORATION: none;
    COLOR: #DDDDFF;
    }
    A:hover {
    TEXT-DECORATION: underline;
    COLOR: #000000;
    }
    A:active {
    TEXT-DECORATION: none;
    COLOR: #000000;
    }A.nav:link {
    TEXT-DECORATION: none;
    COLOR: #AAAAFF;
    }
    A.nav:visited {
    TEXT-DECORATION: none;
    COLOR: #AAAAFF;
    }
    A.nav:hover {
    TEXT-DECORATION: underline;
    COLOR: #000000;
    }
    A.nav:active {
    TEXT-DECORATION: none;
    COLOR: #000000;
    }body,td,th,input,select {
    FONT-SIZE: 9pt;
    COLOR: #000000;
    }input {
    COLOR: #000000;
    BACKGROUND-COLOR: #9999FF;
    BORDER-TOP: #AABBFF 1px solid;
    BORDER-BOTTOM: #AABBFF 1px solid;
    BORDER-LEFT: #AABBFF 1px solid;
    BORDER-RIGHT: #AABBFF 1px solid;
    }.headerBgColor {
    BACKGROUND-COLOR: #0000FF;
    }
    .leftBgColor {
    BACKGROUND-COLOR: #6666FF;
    }
    .navSwitchBgColor {
    BACKGROUND-COLOR: #6D6DFF;
    }
    .mainBgColor {
    BACKGROUND-COLOR: #7777FF;
    }.title {
    BACKGROUND-COLOR: #6666FF;
    BORDER-TOP: #9999FF 1px solid;
    BORDER-BOTTOM: #9999FF 1px solid;
    BORDER-LEFT: #9999FF 1px solid;
    BORDER-RIGHT: #9999FF 1px solid;
    }
    .content {
    BACKGROUND-COLOR: #7777FF;
    BORDER-BOTTOM: #9999FF 1px solid;
    BORDER-LEFT: #9999FF 1px solid;
    BORDER-RIGHT: #9999FF 1px solid;
    }
    .footer {
    BACKGROUND-COLOR: #6666FF;
    BORDER-BOTTOM: #9999FF 1px solid;
    BORDER-LEFT: #9999FF 1px solid;
    BORDER-RIGHT: #9999FF 1px solid;
    }.infoOut {
    BACKGROUND-COLOR: #8888FF;
    }
    .infoIn {
    BACKGROUND-COLOR: #9999FF;
    BORDER-TOP: #AAAAFF 1px solid;
    BORDER-BOTTOM: #AAAAFF 1px solid;
    BORDER-LEFT: #AAAAFF 1px solid;
    BORDER-RIGHT: #AAAAFF 1px solid;
    }.welHeader {
    COLOR: #000000;
    }
    .welLi {
    COLOR: #CCCCFF;
    }
    A.welName:link {
    TEXT-DECORATION: none;
    COLOR: #CCCCFF;
    }
    A.welName:visited {
    TEXT-DECORATION: none;
    COLOR: #CCCCFF;
    }
    A.welName:hover {
    TEXT-DECORATION: underline;
    COLOR: #4A4D7B;
    }
    A.welName:active {
    TEXT-DECORATION: none;
    COLOR: #4A4D7B;
    }
    .welIntro {
    COLOR: #4A4D7B;
    }.errorOut {
    BACKGROUND-COLOR: #8888FF;
    }
    .errorIn {
    BACKGROUND-COLOR: #9999FF;
    BORDER-TOP: #AAAAFF 1px solid;
    BORDER-BOTTOM: #AAAAFF 1px solid;
    BORDER-LEFT: #AAAAFF 1px solid;
    BORDER-RIGHT: #AAAAFF 1px solid;
    }.postFormOut {
    BACKGROUND-COLOR: #CCCCFF;
    }
    .postFormIn {
    BACKGROUND-COLOR: #6666FF;
    }
    .postFont {
    COLOR: #FFFFFF;
    }.t01 {
    BORDER-TOP: #C6D7EA 1px solid;
    BORDER-BOTTOM: #C6D7EA 1px solid;
    BORDER-LEFT: #C6D7EA 1px solid;
    BORDER-RIGHT: #C6D7EA 1px solid;
    }
    .t02 {
    BORDER-BOTTOM: #C6D7EA 1px solid;
    BORDER-LEFT: #C6D7EA 1px solid;
    BORDER-RIGHT: #C6D7EA 1px solid;
    }
    .t03 {
    BORDER-RIGHT: #9999FF 1px solid;
    }
    </style>
    </head>
      

  33.   

    接上面:
    <body class='mainBgColor' leftmargin='0' topmargin='10'><center><script>
    var yearinfo;
    yearinfo = new Array();
    yearinfo[0] = new Array();
    yearinfo[0]['year'] = 2010;
    yearinfo[0]['term'] = '';
    yearinfo[1] = new Array();
    yearinfo[1]['year'] = 2009;
    yearinfo[1]['term'] = new Array();
    yearinfo[1]['term'][0] = 10;
    yearinfo[1]['term'][1] = 11;
    yearinfo[2] = new Array();
    yearinfo[2]['year'] = 2008;
    yearinfo[2]['term'] = new Array();
    yearinfo[2]['term'][0] = 14;
    yearinfo[3] = new Array();
    yearinfo[3]['year'] = 2007;
    yearinfo[3]['term'] = '';
    yearinfo[4] = new Array();
    yearinfo[4]['year'] = 2005;
    yearinfo[4]['term'] = '';
    yearinfo[5] = new Array();
    yearinfo[5]['year'] = 2004;
    yearinfo[5]['term'] = '';
    yearinfo[6] = new Array();
    yearinfo[6]['year'] = 2003;
    yearinfo[6]['term'] = new Array();
    yearinfo[6]['term'][0] = 5;
    yearinfo[7] = new Array();
    yearinfo[7]['term'] = new Array();
    yearinfo[7]['term'][1] = 8;
    yearinfo[7]['term'][2] = 9;
    yearinfo[7]['term'][3] = 13;
    yearinfo[8] = new Array();
    yearinfo[8]['term'] = '';
    yearinfo[9] = new Array();
    yearinfo[9]['term'] = new Array();
    function mychk(obj,isParent) {
    if (isParent) {
    var chklst = obj.parentElement.parentElement.nextSibling.all('_del_term_');
    if (obj.checked) {
    for (var i=0;i<chklst.length;i++) {
    chklst[i].checked=true;
    }
    } else {
    for (var i=0;i<chklst.length;i++) {
    chklst[i].checked=false;
    }
    }
    } else {
    var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;
    var pObj = tr.parentElement.rows[tr.rowIndex-1].all('_del_year_');
    if (!obj.checked) {
    pObj.checked=false;
    }
    }
    }
    </script>
    <form name='from_del_term' method=post action='././admin_term.php' onSubmit='return this.checkPost()'>
    <script>
    /**
     * 防止重复提交表单
     *
     */
    document.write('<div id=div_postForm_sending style=\'position: absolute; visibility: hidden; top: 0; left: 10px; z-index:2\'><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td width=30%></td><td class=postFormOut><table width=100% height=80 border=0 cellspacing=2 cellpadding=0><tr><td class=postFormIn align=center><font class=postFont>正在更改设置,请稍候...</font></td></tr></table></td><td width=30%></td></tr></table></div>');
    document.write('<div id=div_postForm_cover style=\'position: absolute; visibility: hidden; top: 0; left: 0; z-index:1\'><table width=100% height=900 border=0 cellspacing=0 cellpadding=0><tr><td align=center><br></td></tr></table></div>');
    function postForm()
    {
    div_postForm_sending.style.top        = document.body.scrollTop + (document.body.offsetHeight / 2 - 80);
    div_postForm_sending.style.visibility = 'visible';
    div_postForm_cover.style.visibility   = 'visible';
    }
    </script>
    <script>
    /**
     * 错误处理
     *
     */
    function error(error, foc_obj)
    {
    alert(error);
    foc_obj.focus();
    return false;
    }
    </script>
    <script>
    /**
     * 验证from_del_term表单数据,并防止重复提交
     *
     */
    from_del_term.ispost    = 0;
    from_del_term.checkPost = function ()
    {
    if (!confirm('aa')) {
    return false;
    } if (this.ispost == 1) {
    return false;
    }
    this.ispost = 1;
    postForm();
    }
    </script><table width=98% border='0' cellspacing='0' cellpadding='6' class='title'>
    <tr>
    <td><b>以下是本校所有年度及学期的列表</b></td>
    </tr>
    </table>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='11' onclick='mychk(this,true)'>2010年度&nbsp;
    2010年09月01日 -
    2011年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='10' onclick='mychk(this,true)'>2009年度&nbsp;
    2009年09月01日 -
    2010年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='10' onclick='mychk(this,false)'>第1学期&nbsp;
    2009年09月30日 -
    2010年01月31日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='11' onclick='mychk(this,false)'>第2学期&nbsp;
    2010年03月01日 -
    2010年05月15日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
      

  34.   

    再接:
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='9' onclick='mychk(this,true)'>2008年度&nbsp;
    2008年09月01日 -
    2009年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='14' onclick='mychk(this,false)'>第1学期&nbsp;
    2008年09月01日 -
    2009年02月01日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='7' onclick='mychk(this,true)'>2007年度&nbsp;
    2007年09月01日 -
    2008年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='6' onclick='mychk(this,true)'>2005年度&nbsp;
    2005年09月01日 -
    2006年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='5' onclick='mychk(this,true)'>2004年度&nbsp;
    2004年09月01日 -
    2005年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_year_' value='4' onclick='mychk(this,true)'>2003年度&nbsp;
    2003年09月01日 -
    2004年07月15日&nbsp;
    [未启用]
    </td>
    </tr>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='5' onclick='mychk(this,false)'>第1学期&nbsp;
    2003年09月01日 -
    2004年02月01日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>2002年度&nbsp;
    2002年09月01日 -
    2003年07月15日&nbsp;
    [正在使用]
    </td>
    </tr>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>第1学期&nbsp;
    2002年09月01日 -
    2002年12月18日&nbsp;
    [已结束]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='8' onclick='mychk(this,false)'>第2学期&nbsp;
    2003年03月01日 -
    2003年04月01日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='9' onclick='mychk(this,false)'>第3学期&nbsp;
    2003年04月02日 -
    2003年06月01日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td><input type='checkbox' name='_del_term_' value='13' onclick='mychk(this,false)'>第4学期&nbsp;
    2003年06月02日 -
    2003年07月15日&nbsp;
    [未启用]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>2001年度&nbsp;
    2001年09月01日 -
    2002年07月01日&nbsp;
    [已结束]
    </td>
    </tr>
    <table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>2000年度&nbsp;
    2000年09月01日 -
    2001年07月01日&nbsp;
    [已结束]
    </td>
    </tr>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>第1学期&nbsp;
    2000年09月01日 -
    2001年02月01日&nbsp;
    [已结束]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <tr>
    <td>
    <table width=98% border='0' cellspacing='0' cellpadding='0'>
    <tr>
    <td width=10%>&nbsp;</td>
    <td>
    <table width=100% border='0' cellspacing='0' cellpadding='4' class='content'>
    <tr>
    <td>第2学期&nbsp;
    2001年03月01日 -
    2001年06月01日&nbsp;
    [已结束]&nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=98% border='0' cellspacing='0' cellpadding='6' class='footer'>
    <tr>
    <td align='center'>
    <input type=submit name=submit value='将选中的学年或学期删除' style='font-weight: bold; cursor: hand'>&nbsp;&nbsp;
    <input type=reset name=reset value='重 填'>
    <input type=hidden name=post value='1'>
    <input type=hidden name=page value='_del_term_'>
    </td>
    </tr>
    </table>
    </from></center>
    </body>
    </html>
      

  35.   

    重新修改php代码<?php
    $year      = date('Y-m-d', $_HY_ENV['time']);
    $hy_year   = new hy_year();
    $year_info = $hy_year->listYearTerm();
    $result    = '';
    if ($year_info) {
    $script = "<script>var yearinfo;yearinfo = new Array();";
    $year1 = '';
    foreach ($year_info as $key => $value) {
    $year1 .= $key . ',';
    }
    $year1 = substr($year1, 0, -1);
    $year1 = explode(',', $year1);
    $count = count($year1);
    $html  = "<table width=98% border='0' cellspacing='0' cellpadding='6' class='title'><tr> <td><b>以下是本校所有年度及学期的列表</b></td></tr></table><table width=98% border='0' cellspacing='0' cellpadding='4' class='content'>";
    $td = '';
    for ($i=0; $i<$count; $i++) {
    $script .= "yearinfo[$i] = new Array();";
    if ($year_info[$year1[$i]]['data']['year_start_date'] > $year) {
    $script .= "yearinfo[$i]['year'] = $year1[$i];";
    $td    = "[未启用]";
    $input = "<input type='checkbox' name='_del_year_' value='{$year_info[$year1[$i]]['data']['year_id']}' onclick='mychk(this,true)'>"; 
    } else {
    if ($year_info[$year1[$i]]['data']['year_end_date'] >= $year) {
    $td    = "[正在使用]";
    $input = '';
    } else {
    $td    = "[已结束]";
    $input = '';
    }
    }
    $year_start = explode('-', $year_info[$year1[$i]]['data']['year_start_date']);
    $year_end   = explode('-', $year_info[$year1[$i]]['data']['year_end_date']);
    $html .= "<tr><td>{$input}{$year1[$i]}年度&nbsp; {$year_start[0]}年{$year_start[1]}月{$year_start[2]}日 - {$year_end[0]}年{$year_end[1]}月{$year_end[2]}日&nbsp;{$td}</td></tr>"; 
    if ($year_info[$year1[$i]]['term']) {
    $term = '';
    foreach ($year_info[$year1[$i]]['term'] as $key => $value) {
    $term .= $key . ',';
    }
    $term       = substr($term, 0, -1);
    $term       = explode(',', $term);
    $term_count = count($year_info[$year1[$i]]['term']);
    $tr         = '';
    $script .= "yearinfo[$i]['term'] = new Array();";
    $html .= "<tr><td><table>";
    for ($j=0; $j<$term_count; $j++) {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_start_date'] > $year) {
    $script .= "yearinfo[$i]['term'][$j] = {$year_info[$year1[$i]]['term'][$term[$j]]['term_id']};";
    $tr         = "[未启用]";
    $term_input = "<input type='checkbox' name='_del_term_' value='{$year_info[$year1[$i]]['term'][$term[$j]]['term_id']}' onclick='mychk(this,false)'>"; 
    } else {
    if ($year_info[$year1[$i]]['term'][$term[$j]]['term_end_date'] >= $year) {
    $tr         = "[正在使用]";
    $term_input = '';
    } else {
    $tr         = "[已结束]";
    $term_input = '';
    }
    }
    $term_start = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_start_date']);
    $term_end   = explode('-', $year_info[$year1[$i]]['term'][$term[$j]]['term_end_date']);
    $html .= "<tr> <td>{$term_input}{$year_info[$year1[$i]]['term'][$term[$j]]['term_name']}&nbsp;{$term_start[0]}年{$term_start[1]}月{$term_start[2]}日 -{$term_end[0]}年{$term_end[1]}月{$term_end[2]}日&nbsp;{$tr}&nbsp;</td></tr>";
    }
    $html .= "</table></td></tr>";
    } else {
    $script .= "yearinfo[$i]['term'] = '';";
    }
    }
    $html .= "</table>";
    $script .= "function mychk(obj,isParent){ if (isParent){ var chklst = obj.parentElement.parentElement.nextSibling.all('_del_term_'); if (obj.checked){ for (var i=0;i<chklst.length;i++){ chklst[i].checked=true; } } else { for (var i=0;i<chklst.length;i++){ chklst[i].checked=false; }}} else { var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; var pObj = tr.parentElement.rows[tr.rowIndex-1].all('_del_year_'); if (!obj.checked) { pObj.checked=false; }}}</script>";
    ?>
      

  36.   

    最后一行需要改一下$script .= "function mychk(obj,isParent){if (isParent){var chklst = obj.parentElement.parentElement.nextSibling.all('_del_term_')if (chklst != null) {if (chklst.length != null) {for (var i=0;i<chklst.length;i++){chklst[i].checked=obj.checked;}} else chklst.checked=obj.checked;}}} else {var tr = obj.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;var pObj = tr.parentElement.rows[tr.rowIndex-1].all('_del_year_'); if (!obj.checked) { pObj.checked=false;}}}</script>";
      

  37.   

    你能自己解决最好了,你的class效果要出来可能需要修改我的函数,给你提示
    parentEelment是当前元素的父元素
    nextSibling是当前原是的下一个原是
    只要理清了就可以