日期:2014-05-16  浏览次数:20368 次

数组删除的问题
<div   id=msg> </div> <BUTTON   ONCLICK=ypadd()> 添加一项 </button>
<SCRIPT   LANGUAGE= "JavaScript ">
<!--
  Array.prototype.del=function(n)   {  
//n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
if(n <0)   //如果n <0,则不进行任何操作。
return   this;  
else  
return   this.slice(0,n).concat(this.slice(n+1,this.length));  
/*   concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。    
    这里就是返回this.slice(0,n)/this.slice(n+1,this.length)    
     组成的新数组,这中间,刚好少了第n项。
slice方法:   返回一个数组的一段,两个参数,
分别指定开始和结束的位置。   */  
}
//var   a=[1,2,3,4]
//alert(a.del(2))
var   youprice=[];
function   ypadd(){
      //   mywin.close();
youprice.push( '运费__22_33 ')
//$( "#oo_p_n ").val( " ");
//$( "#oo_p_f ").val( " ");
//$( "#oo_p_s ").val( ' ');
pppp();
}
function   ypdel(i){
       
youprice.del(i)
 
pppp()
}
function   pppp(){  
 
var   temp= " <table     width=100%     class=list   cellpadding=0   cellspacing=0> ";
temp+= " <th> 费用名称 </th> <th> 应付费用 </th> <th> 应收费用 </th> <th> 操作 </th> "
 
    for(var   i=0;i <youprice.length;   i++){
temp+= " <tr> <td> "+youprice[i].split( "__ ")[0]+ " </td> <td> <input   type=text       name=inpay "+i+ "   id=inpay "+i+ "   value= ' "+youprice[i].split( "__ ")[1]+ " '> </td> <td> <input   type=text   name=inget "+i+ "   id=inget "+i+ "   value= ' "+youprice[i].split( "__ ")[2]+ " '> </td> <td> <button   onclick=ypdel( "+i+ ")>   删除 </button> </td> </tr> "
  }  
  temp+= " </table> "
   
  $1( "msg ").innerHTML=(temp);
}

function   $1(s){return   document.getElementById(s);}//获取对像章
//-->
</SCRIPT>


添加了之后,怎么也删除不掉,是啥问题,谁帮我瞅两眼

------解决方案--------------------
<div id=msg> </div> <BUTTON ONCLICK=ypadd()> 添加一项 </button>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
Array.prototype.del=function(n) {
//n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
if(n <0) //如果n <0,则不进行任何操作。
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
/* concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。  
    这里就是返回this.slice(0,n)/this.slice(n+1,this.length)  
     组成的新数组,这中间,刚好少了第n项。
slice方法: 返回一个数组的一段,两个参数,
分别指定开始和结束的位置。 */
}
//var a=[1,2,3,4]
//alert(a.del(2))
var youprice=[];
function ypadd(){
// mywin.close();
youprice.push( '运费__22_33 ')
//$( "#oo_p_n ").val( " ");
//$( "#oo_p_f ").val( " ");
//$( "#oo_p_s ").val( ' ');
pppp();
}
function ypdel(i){
youprice=youprice.del(i)

pppp()
}
function pppp(){

var temp= " <table