gpt4 book ai didi

javascript - 无法使用Jquery拼接数组值

转载 作者:行者123 更新时间:2023-11-28 18:38:13 24 4
gpt4 key购买 nike

我正在数组中插入和删除值。如果值不存在则插入,如果存在则删除它。但我有一个简单的条件来检查所选值是否大于 3。如果大于 3,则不要添加到数组中并发出简单的通知。

我的问题是,如果该值已经存在,我无法删除该值。这是我的简单代码:

var limit = 3;
var findValue;
var ids = [];

function findIfExist(selected) {
var findValue = jQuery.inArray(selected, ids);
console.log(findValue);
if(findValue >= 0) {
ids.splice(selected, 1);
} else {
ids.push(selected);
}
}

$('input[name="services[]"]').on('change', function(evt) {
var count = $('input[name="services[]"]:checked').length;
var selected = $(this).val();

if(count > 3) {
bootbox.alert({
title: 'Oops',
message: 'Only 3 services are allowed from the registration',
size: 'small'
});
$(this).prop('checked', false);
findIfExist(selected);
} else {
findIfExist(selected);
}
console.log(ids);
});

示例输出是一个带有 ID 的简单数组

你能看出我哪里错了吗?

最佳答案

Array#splice使用要删除的元素的索引,而不是元素本身。

ids.splice(selected, 1);

在这里,您将元素传递给splice()。使用索引findValue

ids.splice(findValue, 1);

关于javascript - 无法使用Jquery拼接数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com