技术开发 频道

JS实现的HashTable类来记录删除的记录的ID跟Name


【IT168技术文档】

  当我们用复选框来删除记录的时候,由于是多条删除,所以要在客户端记录删除记录的ID跟Name,然后在提交表单的时候,把JS的变量值赋予隐藏文本框,然后提交到服务端进行删除,那为什么要传输名称,是要告诉客户,如果有些数据删除不了,告诉客户是那些记录的名称。

  HashTable15.js代码如下:(在同事之前的js代码进行修改的)
//----------------- Hashtable Start ----------------- 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方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。 */ } function Hashtable() { var has = new Array(); this.Add = function(key,value) { if(has.length > 0) { for(var i =0 ;i < has.length;i++) { if(has[i][0] == key) { has[i][1] = value; return; } } } has.push(new Array(key, value)); } this.Remove = function(key) { if(has.length > 0) { var delIndex = -1; for(var i =0 ;i < has.length;i++) { if(has[i][0] == key) { delIndex = i; } } if(delIndex != -1) { //has = has.slice(0,delIndex).concat(has.slice(delIndex+1,has.length)); has = has.del(delIndex); } } } this.GetValue = function(key) { if(has.length > 0) { for(var i =0 ;i < has.length;i++) { if(has[i][0] == key) { return has[i][1]; } } } return null; } this.SetValue = function(key,value) { if(has.length > 0) { for(var i =0 ;i < has.length;i++) { if(has[i][0] == key) { has[i][1] = value; } } } } this.GetKey = function() { if(has.length > 0) { for(var i =0 ;i < has.length;i++) { return has[i][0]; } } return null; } this.Count = function() { return has.length; } this.Items = function() { return has; } this.ToKeyString = function() { var keys=''; var len = this.Count(); if(len>0) { for(var i=0;i<len;i++) { keys +=this.Items()[i][0]+","; } } keys=keys.substring(0,keys.length-1); return keys; } this.ToValueString = function() { var values=''; var len = this.Count(); if(len>0) { for(var i=0;i<len;i++) { values +=this.Items()[i][0]+","; } } values=values.substring(0,values.length-1); return values; } return this; } //------------------------ Hashtable End ---------------------
0
相关文章