欢迎访问中国最大的EXTJS讨论社区 首页 论坛 教程

Ext教程-一起Ext

当前位置: 首页 > 教程 > JQuery >

通过checkbox删除当前tr行的问题

时间:2009-04-09 09:36来源: 作者: 点击:
今天群里朋友遇到一个问题,我感觉比较典型,所以发出来让大家参考一下.以下为引用的内容:$(

  
一个比较典型的问题,发出来让大家参考一下.

以下为引用的内容:
$("#s1 input[@type=checkbox]").each(function(i){

if($("#s1 input[@type=checkbox]:eq('"+i+"')").attr("checked") == true)
{
alert(i); //---------------1
$("#s1 tr:eq('"+(i+1)+"')").remove();//-----------2
}
})
如果把2注释掉就会就会正确输出i,
如果不注释掉2,就总是remove 1个

 

问题分析

以下为引用的内容:
<tr ID=1><td>checkbox1<td></tr>
<tr ID=2><td>checkbox2<td></tr>
<tr ID=3><td>checkbox3<td></tr>
<tr ID-4><td>checkbox4<td></tr>
i=0 的时候 ID=1 移除
移除后代码
<tr ID=2><td>checkbox2<td></tr>
<tr ID=3><td>checkbox3<td></tr>
<tr ID-4><td>checkbox4<td></tr>
i=1的时候 此时 ID=2 的序号是0 ID=3的序号是 1 此时移除 <tr ID=3><td>checkbox3<td></tr>
移除后代码
<tr ID=2><td>checkbox2<td></tr>
<tr ID-4><td>checkbox4<td></tr>
i=2的时候 此时 tr长度只有2 所以就没有可移除对象了

所以正确代码应该是

以下为引用的内容:
$("#s1 input[@type=checkbox]:checked").each(function(i){
   $(this).parent().parent().remove();
})

声明:本站教程文章版权为一起Ext(http://www.17ext.com/)所有,转载请注明出处
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容