Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';选中';是否为空或不是仅对象的IE_Javascript_Internet Explorer - Fatal编程技术网

Javascript ';选中';是否为空或不是仅对象的IE

Javascript ';选中';是否为空或不是仅对象的IE,javascript,internet-explorer,Javascript,Internet Explorer,这个问题只存在于IE浏览器中,在mozilla中,它工作正常。。。我必须删除一行点击复选框。。。。 这是我的密码: <table width="100%" id="seller"> <tr id="row_1" class="row"> <td><input type="checkbox" name="delete_seller" id="delete_seller" value="1" /></td> </tr> <

这个问题只存在于IE浏览器中,在mozilla中,它工作正常。。。我必须删除一行点击复选框。。。。 这是我的密码:

<table width="100%" id="seller">
<tr id="row_1" class="row">
 <td><input type="checkbox" name="delete_seller" id="delete_seller" value="1" /></td>
</tr>
<tr id="row_2" class="row">
 <td><input type="checkbox" name="delete_seller" id="delete_seller" value="2" /></td>
</tr>
</table>
<input type="button" id="delete" name="delete" value="Delete" onclick="delete_row('seller')"/>


var delete_id=[];
函数删除_行(tableID){
var rows=document.getElementsByClassName('row');
var delItems=document.getElementsByName('delete_seller');
对于(变量i=0;i
在页面上显示错误:“checked”为空或不是对象
谁能告诉我修理方法吗

提前感谢,,
sri..

您可以用jQuery替换循环,如下所示:

delete_ids.push.apply(delete_ids,
    $('tr.row:has(.delete:checked)').remove()
        .map(funcion() { return this.id; })
);
这将选择所有
tr.row
元素
:具有
一个
。删除
元素
:选中

它调用
.remove()
删除行,然后调用
.map()
获取行的ID,并应用
推送
函数将它们添加到数组中

您可以通过将其更改为来避免推送。应用

    $('tr.row:has(.delete:checked)').remove()
        .each(funcion() { delete_ids.push(this.id); });
编辑:尝试以下操作:

    $('tr.row:has(.delete_seller:checked)')
        .each(funcion() { delete_ids.push(this.id); })
        .remove();

可以用jQuery替换循环,如下所示:

delete_ids.push.apply(delete_ids,
    $('tr.row:has(.delete:checked)').remove()
        .map(funcion() { return this.id; })
);
这将选择所有
tr.row
元素
:具有
一个
。删除
元素
:选中

它调用
.remove()
删除行,然后调用
.map()
获取行的ID,并应用
推送
函数将它们添加到数组中

您可以通过将其更改为来避免推送。应用

    $('tr.row:has(.delete:checked)').remove()
        .each(funcion() { delete_ids.push(this.id); });
编辑:尝试以下操作:

    $('tr.row:has(.delete_seller:checked)')
        .each(funcion() { delete_ids.push(this.id); })
        .remove();

您的复选框和按钮都称为“删除”,您的
delItems
变量也将包含该按钮。这个按钮没有checked属性,我猜这就是IE抱怨的地方


尽管在您给出的示例中,类为“row”的元素少于名为“delete”的元素,这意味着您在循环中没有到达delItems[i]引用按钮的点。除非页面上有更多的元素类“行”。

您的复选框和按钮都称为“删除”,并且您的
delItems
变量也将包含该按钮。这个按钮没有checked属性,我猜这就是IE抱怨的地方



尽管在您给出的示例中,类为“row”的元素少于名为“delete”的元素,这意味着您在循环中没有到达delItems[i]引用按钮的点。除非页面上有更多的元素类“行”。

tableID的
参数是什么?是的,不使用任何where tableID。需要删除。谢谢,IE中没有实现getElementsByClassname
。ID应该是唯一的
delete\u seller
应该是一个类名。我正在delete\u id数组中获取值。我认为问题在于jQuery(rows[I]).remove()行;i=i-1;
tableID
参数是什么?是的,不使用任何where tableID。需要删除。谢谢,IE中没有实现getElementsByClassname
。ID应该是唯一的
delete\u seller
应该是一个类名。我正在delete\u id数组中获取值。我认为问题在于jQuery(rows[I]).remove()行;i=i-1+今天你打了我1秒。请添加更多的解释性文字。我的错,我编辑了我的文章,请通读…这是我正在使用的。thanks@Srinath:更改
。删除
以匹配您的复选框。嗨,SLaks,我更改为。删除\u卖家。但id名称对于所有行都是通用的。我正在使用循环显示列表。我应该使用var delItems=document.getElementsByName('delete_seller')获取所有信息吗;使用delItems?@Slaks,你能从我的代码中提供完整的解决方案吗。我遇到了一些问题。这件事从一天起就一直困扰着我。谢谢。今天你赢了我一秒钟。请添加更多的解释性文字。我的错,我编辑了我的文章,请通读…这是我正在使用的。thanks@Srinath:更改
。删除
以匹配您的复选框。嗨,SLaks,我更改为。删除\u卖家。但id名称对于所有行都是通用的。我正在使用循环显示列表。我应该使用var delItems=document.getElementsByName('delete_seller')获取所有信息吗;使用delItems?@Slaks,你能从我的代码中提供完整的解决方案吗。我遇到了一些问题。这件事从一天起就一直困扰着我。谢谢。我的错,我编辑了我的帖子,请过目…这是我正在使用的。谢天谢地,我编辑了我的文章,请仔细阅读…这是我正在使用的。谢谢