【发布时间】:2016-04-14 03:00:08
【问题描述】:
我正在数组中插入和删除值。如果一个值不存在,则插入,如果存在则删除它。但是我有一个简单的条件来检查所选值是否大于 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 的简单数组
你能看出我哪里做错了吗?
【问题讨论】:
标签: javascript jquery