<script language=javascript>
function chcolor(obj,color)
{
   clearcolor(obj);   if (obj.checked)
   {
      var l=obj.parentNode.parentNode;
      l.style.backgroundColor=color;
   }
}
function clearcolor(obj)
{
   for(var i=0;i<obj.parentElement.parentElement.parentElement.rows.length;i++)
      obj.parentNode.parentNode.parentNode.rows[i].style.backgroundColor='';}
</script><table border=1>
<tr id="line1"><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#0000FF')"></td> </tr>
<tr id="line2"><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#FF0000')"></td> </tr>
<tr id="line3"><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#00FF00')"></td> </tr>
</table>

解决方案 »

  1.   

    可以实现,我想再问一句,我在页面上又加了一个全选的checkbox,点击全选后,那些选中的记录也变颜色。
      

  2.   

    <script language=javascript>
    function chanC(obj)
    {
        if(obj.checked)
            obj.parentNode.parentNode.style.backgroundColor = "#cccccc";
        else
            obj.parentNode.parentNode.style.backgroundColor = "";
    }
    function selAll(bChk)
    {
        var arr = document.all.chk;
        if(bChk)
        {
            for(var i=0; i<arr.length; i++)
            {
                arr[i].checked = bChk;
                arr[i].parentNode.parentNode.style.backgroundColor = "#cccccc";
            }
        }
        else
        {
            for(var i=0; i<arr.length; i++)
            {
                arr[i].checked = bChk;
                arr[i].parentNode.parentNode.style.backgroundColor = "";
            }
        }   
    }
    </script><table border=1>
    <tr id="line1"><td><input type=checkbox id="chk" onclick="chanC(this)"></td><td width=100>asd</td>  </tr>
    <tr id="line2"><td><input type=checkbox id="chk" onclick="chanC(this)"></td><td width=100>asd</td>  </tr>
    <tr id="line3"><td><input type=checkbox id="chk" onclick="chanC(this)"></td><td width=100>asd</td>  </tr>
    <input type=checkbox onclick="selAll(this.checked)" />all
    </table>
      

  3.   

    这个应该可以了,还修正了复选的问题<script language=javascript>
    function chcolor(obj,color)
    {
       var l=obj.parentNode.parentNode;
       if (obj.checked)
          l.style.backgroundColor=color;
       else
          l.style.backgroundColor='';
    }
    function selall(ckobj)
    {
       var tobj;
       var te=ckobj.parentNode.parentNode.parentNode;
       for(var i=0;i<te.rows.length;i++)
          for(var j=0;j<te.rows[i].cells.length;j++)
             if (te.rows[i].cells[j].hasChildNodes() && (tobj=te.rows[i].cells[j].firstChild).type=='checkbox')
                {
                tobj.click();
                }
    }</script><table border=1>
    <tr><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#0000FF')"></td> </tr>
    <tr><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#FF0000')"></td> </tr>
    <tr><td width=100></td> <td><input type=checkbox onclick="chcolor(this,'#00FF00')"></td> </tr><tr><td><input type=checkbox onclick="selall(this)">全选/全不选</td></tr>
    </table>
      

  4.   

    我写的全选代码是这样的:
    function baoall()
    {
    var all=document.all.all.checked;
    var inputs=document.getElementsByTagName("INPUT");
    for (var i=0;i<inputs.length;i++){
    if (inputs[i].type=="checkbox" && all==true){
    inputs[i].checked=true;
    }else{
      inputs[i].checked=false;
      }
      }
      }<td align=center><input name="all" type="checkbox"  onclick="baoall()"><font size="2">全选</font></td>如何在我这段代码中加上全选后使选中的记录全部变色。谢谢!