J'essaie d'obtenir les valeurs à une liste de sélection pour les sous-catégories sur la base de ce qui est choisi dans la liste de sélection des catégories. Il ne semble pas fonctionner sur IE. Quelqu'un peut-il suggérer le problème?Dropdown ne pas se peupler dans IE?
Dans le fichier php je
<body onload="setSubcategories(default_value);">
Dans le fichier js j'ai quelque chose comme
subcategories = new Array();
subcategories['Lifestyle'] = ['All',
'Beauty (SHC)',
'Skin Care',
'Hair Care',
'Oral Care',
'Cosmetics',
'Footwear',
'Jewelry',
'Male Styling',
'Women Hygiene',
'Womens magazines',
'Apparels',
' Fashion (AFA)',
'Spa',
'Accessories'
];
subcategories['Automobiles'] = ['All',
'Automobiles (C&B)',
'Cars',
'Bikes',
'Car Magazine',
'Bikes Magazine',
'Accessories'
];
subcategories['FoodandBeverage'] = ['All',
'Snacking',
'Confectionary',
'Beverages',
'Generic F&B',
'Restaurant Review',
'Food Reviews',
'Wines & Vineyards'
];
function setSubcategories(default_value){
default_value = (typeof default_value == 'undefined') ?
'All' : default_value;
var elem = document.getElementById('id-category');
if(elem == null){return false;}
var category = elem.value;
var subelem = document.getElementById('id-subcategory');
var html = "";
var subcategoriesArr = subcategories[category];
for(var i=0; i < subcategoriesArr.length; i++){
var selected = subcategoriesArr[i] == default_value ? " selected" : "";
html += '<option' + selected + '>' + subcategoriesArr[i] + '</option>\n';
}
subelem.innerHTML = html;
}
Je ne pense pas qu'il est directement lié à votre problème, mais ne pas oublier que vous êtes pas censé avoir des esperluettes (&) dans votre code HTML - utilisez plutôt le code d'entité HTML & pour afficher des esperluettes. –
Oh oui..Merci pour la suggestion. Mais je suis un peu coincé avec ce petit javascript – Arc
Pourquoi utilisez-vous JS, ou même PHP? Si les données sont codées en dur comme ça, vous pouvez aussi le faire en HTML. –