【发布时间】:2011-10-12 17:03:07
【问题描述】:
我继承了这段代码,我正在努力让它工作。它正在生成一个用于过滤产品页面的选择菜单。最初,它正在生成一个 UL(选项是 LI),但现在它被转换为一个选择列表。这些选项在所有浏览器中都完美显示,并且单击在除 IE(所有版本)之外的所有浏览器中都非常有效。在 IE 中,我可以使用下拉菜单,但单击选项时没有任何反应。
我尝试将事件更改为更改和选择,但这似乎只会破坏一切。
提前感谢您的帮助!
$.each(hazardClassification, function (i) {
cleanMenuforClass = hazardClassification[i].toLowerCase().replace(/ /g, '_').replace(/&./g, '_').replace(/\,/g, '').replace('/', '').replace('.', '');
$("<option/>", {
"class": cleanMenuforClass,
click: function (event) {
$("#legend-inline-search").val("");
$("#pipemarker-type-selection div.product-container").css('display', '');
var clickedInput = $(this).attr("class");
var clickedCheckbox = $(this);
if ($(this).is(":selected")) {
filterItems(hazardClassification[i], clickedInput, countItems, selectedItemsContainer, clickedCheckbox);
} else {
removeFilter(hazardClassification[i], clickedInput, countItems, selectedItemsContainer);
}
}
}).appendTo("#filter-by-classification select").append('<span>' + hazardClassification[i] + '"<span>');
});
更新:找到了一个仍然使用 jQuery 的解决方法,并为虚拟设计师(就是我)保持简单。 Is there a workaround to trigger an option.click event in IE?
【问题讨论】:
标签: jquery internet-explorer click each