Javascript 选择JS中的数组值
我在JS中的数组有一个问题,(当然我正在学习JS,我现在真的很糟糕。) 事实上,我的select正在打印我的数组值,其中select的值等于“mobile”和“desktop” 这里是我的主要问题:我想添加一个新的值来打印它们!我试图为每个值添加一个二维数组,但由于我对JS不太在行,所以我没有做到这一点 这是我的JS:Javascript 选择JS中的数组值,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我在JS中的数组有一个问题,(当然我正在学习JS,我现在真的很糟糕。) 事实上,我的select正在打印我的数组值,其中select的值等于“mobile”和“desktop” 这里是我的主要问题:我想添加一个新的值来打印它们!我试图为每个值添加一个二维数组,但由于我对JS不太在行,所以我没有做到这一点 这是我的JS: function afficher_lst_appareils() { // On supprime tous les appareils de la liste déro
function afficher_lst_appareils() {
// On supprime tous les appareils de la liste déroulante
$('#lst_appareils').empty().prepend("<option value='0'>Sélectionnez un type d'appareil</option>");
// Le type d'appareil / système qu'on a sélectionné
var type_appareil = $('#lst_types_appareils').val();
var lst_appareils_assoc = {
'Windows 10' : 'desktop',
'Windows 8.1' : 'desktop',
'Windows 8' : 'desktop',
'Windows 7' : 'desktop',
'Windows Server 2003/XP x64' : 'desktop',
'Windows XP' : 'desktop',
'Windows 2000' : 'desktop',
'Windows ME' : 'desktop',
'Windows 98' : 'desktop',
'Windows 95' : 'desktop',
'Windows 3.11' : 'desktop',
'Windows Vista' : 'desktop',
'Linux' : 'desktop',
'Ubuntu' : 'desktop',
'Mac OS X' : 'mobile',
'Mac OS 9' : 'mobile',
'iPhone' : 'mobile',
'Android' : 'mobile',
'iPod' : 'mobile',
'iPad' : 'mobile',
'BlackBerry' : 'mobile',
'Mobile' : 'mobile'
};
// On parcourt le tableau représentant l'ensemble des OS / appareils
$.each(lst_appareils_assoc, function(key, value) {
// Si le type de système / appareil correspond à celui sélectionné et s'il est présent en base,
// on prend sa clé (le nom du système / de l'appareil)
if (type_appareil === value && jQuery.inArray(key, arr) !== -1) {
// Si le nom de l'OS (correspondant à la clé) correspond avec celui soumis au formulaire,
// on le pré-sélectionne grâce à l'attribut selected
if (nom_os !== 0 && nom_os === key) {
$('#lst_appareils').append('<option value="' + key + '" selected>' + key + '</option>');
$("#lst_appareils option:eq(0)").text('-');
//$('#zone_lst_appareils').show();
} else { // Sinon on rajoute les autres normalement
$('#lst_appareils').append('<option value="' + key + '" >' + key + '</option>');
$("#lst_appareils option:eq(0)").text('-');
//$('#zone_lst_appareils').show();
}
}
});
}
// On l'appelle par défaut
afficher_lst_appareils();
// Gestion de l'affichage des appareils selon le type d'appareil sélectionné
$('#lst_types_appareils').on('change', function() {
afficher_lst_appareils();
var nom_os = 0;
});
function afficher\u lst\u appareils(){
//论《红色名单》的替代品
$('lst_appareils').empty().prepend(“Sélectionnez un type d'appareil”);
//选择上的设备/系统类型
var type_appareil=$('lst_types_appareils').val();
var lst\U装置\U assoc={
“Windows 10”:“桌面”,
“Windows 8.1”:“桌面”,
“Windows 8”:“桌面”,
“Windows 7”:“桌面”,
“Windows Server 2003/XP x64”:“桌面”,
“Windows XP”:“桌面”,
“Windows 2000”:“桌面”,
“Windows ME”:“桌面”,
“Windows 98”:“桌面”,
“Windows 95”:“桌面”,
“Windows 3.11”:“桌面”,
“Windows Vista”:“桌面”,
“Linux”:“桌面”,
“Ubuntu”:“桌面”,
'Mac OS X':'mobile',
'Mac OS 9':'mobile',
“iPhone”:“手机”,
“Android”:“mobile”,
“iPod”:“mobile”,
‘iPad’:‘mobile’,
“黑莓”:“手机”,
“Mobile”:“Mobile”
};
//关于舞台表演/服装合奏代表公园
$。每个(lst\U装置、功能(键、值){
//系统/设备的类型对应于基本的选择和发布,
//关于prend sa clé(系统名称/设备名称)
如果(键入设备===value&&jQuery.inArray(键,arr)!=-1){
//我的名字(对应的字母)对应于公式,
//论选择的属性
if(nom_os!==0&&nom_os==key){
$('lst#u装置')。附加(''+key+'');
$(“#lst#U设备选项:等式(0)”).text('-');
//$(“#区域设备”).show();
}else{//Sinon关于拉朱特-奥特雷斯规范
$('lst#u装置')。附加(''+key+'');
$(“#lst#U设备选项:等式(0)”).text('-');
//$(“#区域设备”).show();
}
}
});
}
[关于''Appel.P.D.E.Faut的'/''
固定装置();
//选择类型的行政长官职位
$('#lst_类型_设备')。on('change',function(){
固定装置();
var nom_os=0;
});
谢谢
(这是我的HTML以防万一……)
设备类型:
>桌面
根据选择获取设备类型(移动或桌面)的最简单方法是:
var lst_appareils_assoc = {
'Windows 10' : 'desktop',
'Windows 8.1' : 'desktop',
'Windows 8' : 'desktop',
'Windows 7' : 'desktop',
'Windows Server 2003/XP x64' : 'desktop',
'Windows XP' : 'desktop',
'Windows 2000' : 'desktop',
'Windows ME' : 'desktop',
'Windows 98' : 'desktop',
'Windows 95' : 'desktop',
'Windows 3.11' : 'desktop',
'Windows Vista' : 'desktop',
'Linux' : 'desktop',
'Ubuntu' : 'desktop',
'Mac OS X' : 'mobile',
'Mac OS 9' : 'mobile',
'iPhone' : 'mobile',
'Android' : 'mobile',
'iPod' : 'mobile',
'iPad' : 'mobile',
'BlackBerry' : 'mobile',
'Mobile' : 'mobile'
};
var selection = 'Windows 10';
var result = lst_appareils_assoc[selection];
alert(result);
通过在方括号中传递字符串“Windows 10”(或其他任何字符串),它将查找值,而无需在每个项目周围循环。这使它像一本简单的字典一样工作。事实上很容易,多亏了@Sohnee,我设法找出了我的价值所在
我确实用3个不同的数组替换了我以前的数组,而且效果很好
var e = document.getElementById("lst_types_appareils");
var strUser = e.options[e.selectedIndex].value;
if(strUser === 'desktop'){
var lst_appareils_assoc = {
'Windows 10' : 'desktop',
'Windows 8.1' : 'desktop',
'Windows 8' : 'desktop',
'Windows 7' : 'desktop',
'Windows Server 2003/XP x64' : 'desktop',
'Windows XP' : 'desktop',
'Windows 2000' : 'desktop',
'Windows ME' : 'desktop',
'Windows 98' : 'desktop',
'Windows 95' : 'desktop',
'Windows 3.11' : 'desktop',
'Windows Vista' : 'desktop',
'Linux' : 'desktop',
'Ubuntu' : 'desktop'
};
}
else if(strUser === 'mobile'){
var lst_appareils_assoc = {
'Mac OS X' : 'mobile',
'Mac OS 9' : 'mobile',
'iPhone' : 'mobile',
'Android' : 'mobile',
'iPod' : 'mobile',
'iPad' : 'mobile',
'BlackBerry' : 'mobile',
'Mobile' : 'mobile'
};
}
else if(strUser === 'tous'){
var lst_appareils_assoc = {
'Windows 10' : 'tous',
'Windows 8.1' : 'tous',
'Windows 8' : 'tous',
'Windows 7' : 'tous',
'Windows Server 2003/XP x64' : 'tous',
'Windows XP' : 'tous',
'Windows 2000' : 'tous',
'Windows ME' : 'tous',
'Windows 98' : 'tous',
'Windows 95' : 'tous',
'Windows 3.11' : 'tous',
'Windows Vista' : 'tous',
'Linux' : 'tous',
'Ubuntu' : 'tous',
'Mac OS X' : 'tous',
'Mac OS 9' : 'tous',
'iPhone' : 'tous',
'Android' : 'tous',
'iPod' : 'tous',
'iPad' : 'tous',
'BlackBerry' : 'tous',
'Mobile' : 'tous'
};
}
请使用小提琴,因为代码不完整。。。arr
和nom_os
在哪里定义?
var e = document.getElementById("lst_types_appareils");
var strUser = e.options[e.selectedIndex].value;
if(strUser === 'desktop'){
var lst_appareils_assoc = {
'Windows 10' : 'desktop',
'Windows 8.1' : 'desktop',
'Windows 8' : 'desktop',
'Windows 7' : 'desktop',
'Windows Server 2003/XP x64' : 'desktop',
'Windows XP' : 'desktop',
'Windows 2000' : 'desktop',
'Windows ME' : 'desktop',
'Windows 98' : 'desktop',
'Windows 95' : 'desktop',
'Windows 3.11' : 'desktop',
'Windows Vista' : 'desktop',
'Linux' : 'desktop',
'Ubuntu' : 'desktop'
};
}
else if(strUser === 'mobile'){
var lst_appareils_assoc = {
'Mac OS X' : 'mobile',
'Mac OS 9' : 'mobile',
'iPhone' : 'mobile',
'Android' : 'mobile',
'iPod' : 'mobile',
'iPad' : 'mobile',
'BlackBerry' : 'mobile',
'Mobile' : 'mobile'
};
}
else if(strUser === 'tous'){
var lst_appareils_assoc = {
'Windows 10' : 'tous',
'Windows 8.1' : 'tous',
'Windows 8' : 'tous',
'Windows 7' : 'tous',
'Windows Server 2003/XP x64' : 'tous',
'Windows XP' : 'tous',
'Windows 2000' : 'tous',
'Windows ME' : 'tous',
'Windows 98' : 'tous',
'Windows 95' : 'tous',
'Windows 3.11' : 'tous',
'Windows Vista' : 'tous',
'Linux' : 'tous',
'Ubuntu' : 'tous',
'Mac OS X' : 'tous',
'Mac OS 9' : 'tous',
'iPhone' : 'tous',
'Android' : 'tous',
'iPod' : 'tous',
'iPad' : 'tous',
'BlackBerry' : 'tous',
'Mobile' : 'tous'
};
}