【发布时间】:2010-12-04 05:39:33
【问题描述】:
我正在尝试根据在类别选择列表中选择的内容将值添加到子类别的选择列表中。它似乎不适用于IE。谁能提出问题?
在我的 php 文件中
<body onload="setSubcategories(default_value);">
在 js 文件中我有类似的东西
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;
}
【问题讨论】:
-
我认为这与您的问题没有直接关系,但不要忘记您的 HTML 中不应该有与号 (&) - 使用 &而是用 HTML 实体代码来呈现 & 符号。
-
哦,是的..感谢您的建议。但我有点卡在这个小 javascript
-
你为什么用JS,甚至PHP?如果数据是这样硬编码的,你也可以用 HTML 来做。
-
使用
var声明所有变量是个好主意,而subcategories似乎没有这样做。此外,subcategories应该是Object而不是Array,因为您没有使用 Array 的任何特殊功能。
标签: php javascript select drop-down-menu