jQuery从数组中删除元素

12

这应该很有趣 :)

在一个文本框中,我有一个值为Apple,Peach,Banana的CSV。

使用jQuery,我从该CSV创建了一个数组。

在HTML中,我有一个水果列表,并且每个水果旁边都有一个“删除”选项。当我点击“删除”时,我想从列表和文本框中删除相应的水果。

我缺少一个从数组中删除水果的函数。我应该使用什么函数?

http://jsfiddle.net/BXWqK/19/

3个回答

25

您应该使用JavaScript Splice

fruits_array.splice(fruit_index,1);

你还需要更改:

$('#fruits').val(skills_array.join(',')); 更改为 $('#fruits').val(fruits_array.join(','));


1
这里是Array#splice的MDN文档链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice - captainpete

6
    var A=['Apple','Peach','Banana'];

    A.splice(1,1)

// removes 1 item starting at index[1] 
// returns ['Peach'];

2

接受的解决方案是正确的,但它没有提到不应该使用indexOf来获取要移除的水果索引,因为在IE8浏览器中不支持IndexOf

你应该使用:

fruits_array.splice($.inArray('Peach', fruits_array), 1);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接