Ajax方式删除表格一行数据示例代码

Ajax方式删除表格一行数据示例代码,第1张

复制代码

代码如下:

/**

*

Ajax方式删除信息--后台数据

*

*

action

*

id

主键值

*

obj

删除行的<a>

*/

function

removeRow(action,id,obj){

if(confirm('确定要删除吗?')){

Ext.Ajax.request({

url

:

encodeURI("alone.portal?.f=${namespace}&.pmn=view&action="+action),

params

:

{

id

:

id

},

success

:

function(response)

{

delrow(obj)

alert("删除成功!")

},

failure

:

function(response){

alert("连接异常或网络中断!")

}

})

}

}

//删除行

function

delrow(oElement){

//判断响应事件的当前元素

//var

myEvent

=

evt?evt:(window.event?window.event:null)

//var

oElement

=

myEvent.srcElement

?

myEvent.srcElement

:

myEvent.target

while(oElement.tagName!="TR"){

//一直查找获取到为TR的对象

oElement=oElement.parentNode

}

var

oTBody=oElement.parentNode

//取得表格对象

oTBody.removeChild(oElement)

}

初步怀疑你的删除事件绑定有问题:新加入的DOM元素未绑定到事件。这种情况应该使用事件委派来做,你用 jQuery 吗?假设你的购物车列表的 HTML 结构如下:

<ul id="cartList">

    <li>

        购物车商品1

        <button>删除</button>

    </li>

    <li>

        购物车商品2

        <button>删除</button>

    </li>

    ……

</ul>

则删除购物车商品的代码为(用了 jQuery):

$('#cartList').on('click', 'button', function() {  // 委派 button 的点击事件

    $(this).parent().remove()  // 移除购物车里当前商品

})

如你所言,表格是根据json传递过来的文件动态生成的,那么表格的html代码应该是你用script脚本生成的。

在生成表格的html代码时,在每个tr标签中,加上双击要执行的脚本代码,并附带该行的参数(通常是每条记录中的主键,用于区分不同的记录)。在双击后调用的函数中,进行显示该行全部信息的处理。

下面是一段示例:

表格的html代码

<body>

<table border="1">

<thead>

<td>序号</td>

<td>内容</td>

<td> *** 作</td>

</thead>

<tr ondblclick="dc('1')">

<td>1</td>

<td>内容部分</td>

<td><a onclick="del('1')">删除</a>&nbsp&nbsp<a onclick="mod('1')">修改</a></td>

</tr>

</table>

</body>

2.要说明的部分:

html代码中有dc(),del(),mod()三个函数的调用代码,其中的参数在示例中均为“1”,在实际情况中,该参数是根据json数据中,每条记录的主键值动态创建的。

3.在页面的</head>和<body>标签之间,加上处理双击,和删除修改 *** 作的代码

<script>

function dc(param)        //处理双击 *** 作

{

//双击 *** 作的具体处理步骤,根据传入的参数param,在json中找到需要显示的数据并将全部信息进行显示(可在新页面中显示,或者利用alert窗口显示,方法很多)

}

funcion del(param)        //处理点击“删除”按钮后的 *** 作

{

//删除 *** 作的具体过程,根据传入的参数param,将json数据中对应的数据删除,再重新绘制一遍table

}

function mod(param)        //处理点击“修改”按钮后的 *** 作

{

//修改 *** 作的具体过程

//第一步,将table中对应的tr行中的td中的内容修改为可编辑的控件,如input数据框等,输入数据

//第二步,利用ajax将修改后的数据内容及param参数值传递给后台服务,更新数据库

//第三步,取得新的json数据,重新绘制table

}

</script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8026016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存