下拉列表中的链接选择不起作用的IE8 / 9打开下拉选择链接,警报有效

Link in drop down select not working IE8/9 to open drop down select link, alert works

本文关键字:链接 选择 有效 不起作用 IE8 下拉列表      更新时间:2023-09-26

看来IE8和9让我感到悲伤,我想不出替代方案。

以下内容适用于Chrome,FF和Safari。

有两个下拉列表,每个下拉列表包含两个链接。每个下拉菜单都有自己相应的"立即购买"按钮。进行下拉选择后,通过jquery加载url,当用户单击"立即购买"按钮时,将打开一个新窗口,显示相应的下拉选择。

在 IE8/9 中,当用户选择一个下拉列表并单击"立即购买"按钮时,它会引发未进行选择的警报。

请参阅 JSFiddle 演示

Jquery:

    $(".buyNow").on("click", function (e) {
     var url = $(e.target).parent().children().find("[data-active]").data("val");
    if (url) {
        window.open(url, "_blank");
    } else {
        window.alert("Please select a bag size.");
    }
})

问题是e.target与其他浏览器不同。所以父母是一个不同的元素,它找不到属性,因为它不是孩子。简单的调试将显示它。

使用 .closest(".someClass") 获取您要的元素,而不是.parent()

或更改

var url = $(e.target)...

var url = $(this)...