如题,点del按钮删除选中的checkbox(在<td id="test">中所有checkbox),那位帮改下deleteAll(obj),TKS
     <tr align="left">
         <td>抄送人:</td>
 <td id="test"><input type="text" id="carbon" width="50">
          <select size=1 name="sd_carboncopy" id="sd_carboncopy">  
  <option value="">无</option>
   <%do while not rs.eof%>     
          <option value="<%=rs("username")%>"><%=rs("name")%></option>
  <%
  rs.movenext
  loop
  rs.close
          %>
          </select> 
<input  type="button" value="add" onClick="setname('test');">
<input  type="button" value="del" onClick="deleteAll('cp');"></td>
<script>
function setname(obj)
{
    var copy=document.getElementById("sd_carboncopy").value;
document.getElementById(obj).innerHTML += "<input type='checkbox' name='cp'>" + copy + "</input>";
    }
function deleteAll(obj){
    var answer = document.getElementsByName(obj)
    var len = answer.length;
    var checked = false;
    for(var i = 0 ; i < len ; i++)
    {
        if(answer[i].checked)
        {
            checked = true;
            break;
        }
    }
    if(checked)
    {
        return confirm("确定要删除吗?");
    }
    else
    {
        alert("对不起,你没有选择要删除的对象!");
        return false;
    }
}
</script>
        </tr>

解决方案 »

  1.   

    你在test里面再加一个div或者其他标记,然后把新增的checkbox放在这里面,删除全部的时候直接把这个div的内容清空即可。
      

  2.   

    那如何处理不需要删除的 checkbox 了?
      

  3.   

      <div>
      <input type="checkbox" name="aa" />
      <input type="checkbox" name="aa" />
      <input type="checkbox" name="aa" />
      <input type="checkbox" name="aa" />
      <input type="button" value="del" onclick="removechk()" />
      </div>
      <script type="text/javascript" >      function removechk() {
              var os = document.getElementsByName("aa");
              for (var i = os.length-1; i >= 0; i--) {
                  if (os[i].checked) {
                      os[i].parentNode.removeChild(os[i]);
                  }
              }
          }
      </script>
      

  4.   

         <tr align="left">
             <td>抄送人:</td>
     <div>
     <td id="test"><input type="text" id="carbon" width="50">
              <select size=1 name="sd_carboncopy" id="sd_carboncopy">  
      <option value="">无</option>
       <%do while not rs.eof%>     
              <option value="<%=rs("username")%>"><%=rs("name")%></option>
      <%
      rs.movenext
      loop
      rs.close
              %>
              </select> 
    <input  type="button" value="add" onClick="setname('test');">
    <input  type="button" value="del" onClick="deleteAll('cp');"></td></div>
    </tr>
    <script>
    function setname(obj)
    {
        var copy=document.getElementById("sd_carboncopy").value;
    document.getElementById(obj).innerHTML += "<input type='checkbox' name='cp'>" + copy + "</input>";
        }
    function deleteAll(obj){
        var answer = document.getElementsByName(obj)
        var len = answer.length;
        var checked = false;
        for(var i = 0 ; i < len ; i++)
        {
            if(answer[i].checked)
            {
                checked = true;
                break;
            }
        }
        if(checked)
        {
            return confirm("确定要删除吗?");
    answer[i].parentNode.removeChild(answer[i]);
        }
        else
        {
            alert("对不起,你没有选择要删除的对象!");
            return false;
        }
    }
    </script>
    9楼的方法按说没问题,我这么改,咋还不行呢?问题再那?
      

  5.   

       if(checked)
        {
            //return confirm("确定要删除吗?");
            answer[i].parentNode.removeChild(answer[i]);
        }这样改可以删掉checkbox了,但后面“ + copy + ”还在,汗啊
      

  6.   

    你在每个input前面加个div,删div就可以了
      

  7.   

    你的程序没有删除操作  能删除才怪呢   下面那样写应该可以说  但是注意 i相当于del函数 是全局变量 不能在for循环中定义  要在 for外面定义  相信你懂的  不用多说了  
    if(checked)
      {
      //return confirm("确定要删除吗?");
      answer[i].parentNode.removeChild(answer[i]);
      }
      

  8.   

    http://topic.csdn.net/t/20050722/15/4161788.html
      

  9.   

    问题还没完全解决,9楼代码换成这样后,如何连同checkbox后的abcd也删除了??
    <div>
      <input type="checkbox" name="aa">a</input>
      <input type="checkbox" name="aa">b</input>
      <input type="checkbox" name="aa">c</input>
      <input type="checkbox" name="aa">d</input>
      <input type="button" value="del" onclick="removechk()" />
      </div>
      <script type="text/javascript" >  function removechk() {
      var os = document.getElementsByName("aa");
      for (var i = os.length-1; i >= 0; i--) {
      if (os[i].checked) {
      os[i].parentNode.removeChild(os[i]);
      }
      }
      }
      </script>
      

  10.   

    楼主  <input type="checkbox" name="aa" >a</input>不是标准写法
    标准写法就是1:<input type="checkbox" name="aa" />a
    或者 2:<input type="checkbox" name="aa" /><lable>a</label>
    因此1情况就是同时删除下一个文本节点,2的情况就是删除下一个元素节点,
    分别用next(e,3),和next(e,1)来取得并删除就行了
      <input type="checkbox" name="aa" />a
      <input type="checkbox" name="aa" />b
      <input type="checkbox" name="aa" />c
      <input type="checkbox" name="aa" />d
      <input type="button" value="del" onclick="removechk()" />
      </div>
      <script type="text/javascript" >  function removechk() {
      var os = document.getElementsByName("aa");
      for (var i = os.length-1; i >= 0; i--) {
          if (os[i].checked) {
              os[i].parentNode.removeChild(next(os[i], 3));//如果是删除下一个元素节点,则next(os[i], 1)
              os[i].parentNode.removeChild(os[i]);
      }
      }
    }function next(elem, nodetype) {//获得下一个节点
    //节点类型,1 元素element,文本text 3,更多节点类型google:html nodetype
        do {
            elem = elem.nextSibling;
        } while (elem && elem.nodeType != nodetype);
        return elem;
    }
      </script>