首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js 动态表使用checkbox全选(单选)的删除有关问题!(附代码)

2012-03-20 
js 动态表使用checkbox全选(单选)的删除问题!(附代码)////////////以下代码是可以运行的属于jsp文件%@pag

js 动态表使用checkbox全选(单选)的删除问题!(附代码)
////////////以下代码是可以运行的   属于jsp文件

<%@   page   language= "java "   contentType= "text/html;   charset=UTF-8 "   pageEncoding= "GBK "%>

<html>
<head>
<title> 枚举字符串 </title>

<script   language= "javascript "   type= "text/javascript "   src= "Textlimit.js "   >
</script>

<script   language= "JavaScript ">

var   tt;//输出计数

var   s=1;//增加计数

var   u=1;         //检查计数

var   n;

var   intRowIndex   =   0;

arrcat   =new   Array();   //最终返回的全部结果数组

arrsub   =new   Array();           //检查错误的数组
//值检查
function   JHshLTrim(sString)
{  
var   sStr,i,iStart,sResult   =   " ";
 
sStr   =   sString.split( " ");
iStart   =   -1   ;
for   (i   =   0   ;   i   <   sStr.length   ;   i++)
{
if   (sStr[i]   !=   "   ")  
{
iStart   =   i;
break;
}
}
if   (iStart   ==   -1)   {   return   " "   ;}         //表示sString中的所有字符均是空格,则返回空串
else   {   return   sString.substring(iStart)   ;}
}

function   check(tbIndex)
{

if(JHshLTrim(document.getElementById( 'myCell1 ').value)== " ")
{
alert( "显示名不能为空! ");
return   false;

}
if(JHshLTrim(document.getElementById( 'myCell2 ').value)== " ")
{
alert( "参数值不能为空! ");
return   false;
}
if(JHshLTrim(document.getElementById( 'myCell3 ').value)== " ")
{
alert( "描述不能为空! ");
return   false;
}
if(document.getElementById( 'myCell2 ').value!= " ")
{

for(u=1;u <=s;u++)
{

if(arrcat[u*3-1]==document.getElementById( 'myCell2 ').value)
{
      (document.getElementById( 'myCell2 ').value+ "       已经存在 ");

return   false;

}
else
{


}


}
insertRow(tbIndex);

}
}


function   insertRow(tbIndex)
  {
      var   objRow   =   myTable.insertRow(tbIndex);
     
      var   objCel   =   objRow.insertCell(0);
     
      objCel.innerHTML   = " <input   type=checkbox   onclick= 'getIndex() '   /> ";
     
      var   objCel   =   objRow.insertCell(1);
     
      objCel.innerHTML=document.myForm.myCell1.value;
     
      var   objCel   =   objRow.insertCell(2);
     
      objCel.innerHTML=document.myForm.myCell2.value;
     
      var   objCel   =   objRow.insertCell(3);


     
      objCel.innerHTML=document.myForm.myCell3.value;
           
      objRow.attachEvent( "onclick ",   getIndex);
     
      objRow.style.background   =   "white ";
     
     
      //增加到arrcat
       
       
        arrcat[s*3-2]=[document.getElementById( 'myCell1 ').value];
        arrcat[s*3-1]=[document.getElementById( 'myCell2 ').value];
        arrcat[s*3-0]=[document.getElementById( 'myCell3 ').value];
       
        s=s+1;
       
      //alert( "总长           "+arrcat.length);
     
 
      //for(tt=1;tt <arrcat.length;tt++)//调试输出
      {
      //alert( "arrcat的第 "+tt+ "行         "+arrcat[tt]);
      }
       
     
  }          

function   deleteRow(tbIndex)
  {
  if(tbIndex!=0   &&   tbIndex!=null)
  {
      myTable.deleteRow(tbIndex);
     
      arrcat.splice(tbIndex*3-2,   3);
     
      s=s-1;
             
        }
     
  }
function   getIndex()
  {
      intRowIndex   =   event.srcElement.parentElement.rowIndex;
    //   alert(intRowIndex);
      pos.innerText   =   intRowIndex;
  }
 
  function   dosave()
  {
  opener.clearstr();
  //alert( "back ");
//parent.opener.getArray(arrcat);
opener.getArray(arrcat);
window.close();
  }
</script>

</head>

<body   onload= "pos.innerText=intRowIndex; "   class= "avidmPageBody ">
<tr>
<td   width= "2% ">
<img   src= " <%=request.getContextPath()%> /images/common/common.gif "   width= "24 "   height= "24 ">
</td>
<td   width= "98% ">
枚举值列表
</td>
</tr>
您已选中第   :
<span   id= "pos "> </span> 行
<table   id= "myTable "   class= "avidmListTable "   width= "80% "   border= "1 ">
<tr   onselect= "getIndex() ">
<th   class= "avidmTableHeader ">
<div   align= "center ">
<INPUT   type= "checkbox ">
</div>
</th>
<th   class= "avidmTableHeader ">
<div   align= "center ">
名称
</div>
</th>
<th   class= "avidmTableHeader ">
<div   align= "center ">



</div>
</th>
<th   class= "avidmTableHeader ">
<div   align= "center ">
描述
</div>
</th>
</tr>
</table>
<form   name= "myForm "   class= " ">
<table   width= "60% "   border= "0 "   class= "avidmPropertyTable ">
<tr>
<td   width= "15% "   class= "avidmPropertyItem "   align= "right ">
名称   :
</td>
<td   width= "85% "   class= "avidmPropertyValue ">
<input   type= "text "   id= "myCell1 "   name= "myCell1 "   value= " "   onkeyup= "limitLength(value,100, ' ', 'myCell1 ') "   />
</td>
</tr>
<tr>
<td   width= "15% "   class= "avidmPropertyItem "   align= "right ">
值   :
</td>
<td   width= "85% "   class= "avidmPropertyValue ">
<input   type= "text "   name= "myCell2 "   value= " "   onkeyup= "limitLength(value,100, ' ', 'myCell2 ') "   />
</td>
</tr>
<tr>
<td   width= "15% "   class= "avidmPropertyItem "   align= "right ">
描述   :
</td>
<td   width= "85% "   class= "avidmPropertyValue ">
<input   type= "text "   name= "myCell3 "   value= " "   onkeyup= "limitLength(value,100, ' ', 'myCell3 ') "   />
</td>
</tr>
</table>
<input   type= "button "   onclick= "return   check(myTable.rows.length); "   value= "添加 "     class= "AvidmButton ">
<input   type= "button "   onclick= "deleteRow(intRowIndex) "   value= "删除 "   class= "AvidmButton ">
<input   type= "button "   onclick= "dosave() "   value= "保存 "   class= "AvidmButton ">
</form>
</body>
</html>


        主要实现了行的添加删除(不提供修改功能)   ,   行的删除现在是通过onclick()得到这行在动态表的位置进行删除的.

          问题是:要改成     通过首行那个checkbox   全选后点 "删除 "来删   ,或只选其中一个或几个来删
       
注意:下方的mycell1   mycell2....这些不要写入标签啊   代码啊什么的   因为这些值要取得返回的!其他的就随便改了!改出来要能用哦~这是我的全部分了,高手来接分啊

[解决办法]
function del_all(){
var inputs=document.getElementsByTagName( "input ");
for(var i=0;i <inputs.length;i++){
if(inputs[i].type== "checkbox "&&inputs[i].checked)
inputs[i].parentElement.parentElement.parentElement.parentElement.removeChild(inputs[i].parentElement.parentElement.parentElement)
}

热点排行