所以我有一个Array
充满一堆重复的东西['hey','hey','yeh']
,如果提交的文本与它匹配,我有一个 html 表单,它会从我的数组中删除任何条目。但是,我的 JS/jQuery 似乎并没有按照我喜欢的方式运行。每次我按下按钮时,似乎只有前几个条目被删除,而不是所有匹配项(这是我想要的)。我的“每个”函数不应该遍历数组中的所有项目并删除与提交的内容匹配的所有条目吗?
HTML:
<form id="remove_user" action="#" method="post">
<label for="user_num">Remove user:</label>
<input type="text" id="user_num" name="user_num" placeholder="number">
<input type="submit" value="(-) remove">
</form><!-- #remove_user -->
<ul id="user_list"></ul><!-- #user_list -->
JS 更新了一个更改,但仍然无法正常工作:
$('#remove_user').submit(function(){
id = $('#user_num').val();
$.each(myArr, function(i, value){
if (value == id){
myArr.splice(i, 1);
};
});
$('#user_list').html('');
for (var i=0; i < myArr.length; i += 1) {
$('#user_list').append('<li>' +myArr[i]+ '</li>');
};
return false;
});