2

我有一个非常简单的脚本,它从输入框中获取内容,从中创建一个数组,删除所需的元素,然后返回文本。

我正在尝试使用“splice()”来删除该项目,但它会删除除该项目之外的所有内容:

var listOfTitles = $('.title-list').val();
var arrayOfTitles = listOfTitles.split(',');
var updatedTitles = arrayOfTitles.splice(2,1);
$('.title-list').val(updatedTitles.join());

例如,如果我有这个:

测试1,测试2,测试3,测试4

我可以把它变成一个数组。我想删除“test3”并输出“test1,test2,test4”。问题是,它返回“test3”而不是删除它。

jsfiddle发生了什么:http: //jsfiddle.net/C95kN/

4

2 回答 2

3

splice更改传递的数组并返回删除的元素。简单地做

arrayOfTitles.splice(2,1);
$('.title-list').val(arrayOfTitles.join());

请注意,我认为slice代替splice是一个错字。

于 2013-04-10T18:00:54.833 回答
3

Splice()修改数组并返回一个包含您删除的元素的数组。

你想要的arrayOfTitles不是updatedTitles

见工作小提琴:http: //jsfiddle.net/C95kN/1/

于 2013-04-10T18:12:07.293 回答