我有一个选择器,可以将一些值作为数组获取,例如["1","2","3"]
每次更改时,我运行以下代码,以获取与我从选择器中获取的这些值相关联的数组结果。
$('#event-courses-type').on('change',function(){
type = $('#event-courses-type').val();
console.log(type);
var var1 = ["4689 Leadership Award", "UKCC Level 1", "UKCC Level 2", "UKCC Level 3", "UKCC Level 4", "Old WHU Award", "None at present"];
var var2 = ["4689 Leadership Award", "GB-wide Level 1", "Old Level 1 (Pre January 2012)", "Level 2", "Level 3", "EHF", "FIH", "None at present"];
var var5 = ["D32/33", "A1 Assessor", "CTS", "IAPS", "PTLLS", "AVRA", "Umpire Educator Training", "Umpire Assessor Training"];
var var6 = ["D32/33", "A1 Assessor", "CTS", "IAPS", "PTLLS", "AVRA", "Umpire Educator Training", "Umpire Assessor Training"];
var results = [];
if ($.inArray("1",type) != -1) {
var results = $.merge(var1, results);
}
if ($.inArray("2",type) != -1) {
var results = $.merge(var2, results);
}
if ($.inArray("5",type) != -1) {
var results = $.merge(var5, results);
}
if ($.inArray("6",type) != -1) {
var results = $.merge(var6, results);
}
console.log(results);
)};
这是我的控制台日志,让你看到我在选择了两个选项后的类型数组和结果数组:
["1", "2"] ------------------- add_event.php:802
["4689 Leadership Award", "GB-wide Level 1", "Old Level 1 (Pre January 2012)", "Level 2", "Level 3", "EHF", "FIH", "None at present", "4689 Leadership Award", "UKCC Level 1", "UKCC Level 2", "UKCC Level 3", "UKCC Level 4", "Old WHU Award", "None at present"]
您看到了 "4689 Leadership Award" 这个值出现了两次,我不希望这种情况发生。在 PHP 中,我使用 array_unique()
函数来消除这些重复的值,但我不知道如何在 jQuery 中实现。
type
是一个值,所以它显然是一个字符串,但你在$.inArray
中将其用作数组,这是如何工作的? - adeneoindexOf
一样工作,我只是想知道OP是否知道他为什么在字符串上使用$.inArray
,显然这不是它的预期用途。 - adeneo