当使用javascript删除行时,第一次只删除正确的行
When Delete the row using javascript then, first time only deleting correct row
对于gridview, rowdatabound事件,我编写了以下代码:
Private Sub gv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv.RowDataBound
If (e.Row.RowType = DataControlRowType.DataRow) Then
e.Row.Cells(0).Text = "<a href='javascript:fnDelete(" & e.Row.RowIndex & ");' style='text-decoration:none;'><img src='Images/DEL.gif' height='10' width='10' border='0'></img></a>"
现在在JavaScript中按如下方式打开fnDelete函数:
function fnDelete(rowindex)
{
....
var gridViewctl = document.getElementById('<%= gv.ClientID %>');
gridViewctl.deleteRow(rowindex+1);
}
问题:第一次,它删除正确的行,之后每次,它删除一些不同的行,而不是删除点击的行。看起来,原因是由于rowindex绑定之前,行被删除,所以,它的变化。
请您指导一下如何解决这个问题。
为什么不动态地获取rowIndex,而不是使用事件中的元素传递它并找到父TR呢?
e.Row.Cells(0).Text = "<a href='#' onclick='fnDelete(this);' style='text-decoration:none;'><img src='Images/DEL.gif' height='10' width='10' border='0'></img></a>"
function fnDelete(el) {
var gridViewctl = document.getElementById('<%= gv.ClientID %>');
// anchor is el, td is the first parentElement, tr is the next parentElement
var rowIndex = el.parentElement.parentElement.rowIndex;
gridViewctl.deleteRow(rowIndex);
}
相关文章:
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 删除确认对话框在第一次单击时不起作用
- Javascript:JSON请求仅在第一次工作
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 角度提交仅进行第一次v2错误
- 设置第一次执行的超时
- 为第一次尝试Javascript的经验丰富的开发人员提供建议
- jQuery on()-不;第一次点击时无法工作
- 第一次点击动态创建的表后,点击不工作
- 在Rails中第一次单击后禁用链接,Coffeescription
- PHP和JS脚本的奇怪问题,在我刷新页面之前第一次失败
- 循环中的切换脚本只适用于第一次迭代
- 在没有焦点的情况下捕获画布上的第一次单击事件
- 在jQuery中第一次单击时附加片段,然后在第二次单击时删除
- HTML 正文加载函数需要删除并使用 cookie 执行相同的函数,但只能进行第一次访问
- 为什么我的代码在第一次 setInterval 调用时删除复选框控件
- jQuery remove()在第一次尝试时没有删除,即使要删除的元素当时是可见的
- 当使用javascript删除行时,第一次只删除正确的行
- 添加和删除元素的形式,第一次点击工作,随后的点击不
- 仅在第一次单击时从多个文本区域删除文本