我的代码在 FF 中可以正常工作,但在 IE 中不能正常工作。某些值隐藏在第二个下拉列表中,具体取决于所选的第一个下拉列表的值。这些值在 FF 中正确隐藏,但所有内容都显示在 IE 中:

function updateMountingMethod() {
    var selectedVal = $('#attrib-13 option:selected').text().split(" ")[0];
    $.each($("#attrib-7").children(), function() {
        var optionText = $(this).text();
        var values = optionText.split('|')[1];
        if (values != undefined) {
            if (values.substring(1, 3) != selectedVal) {
                $(this).css('display', 'none');
            }
            else {
                $(this).text($(this).text().split("|")[0] + $(this).text().split("|")[2]);
            }
        }
    })
}

如果这还不是很清楚,这里有一个更好的描述。

我有一个 jQuery 代码,每次更改下拉值时都会调用它。当值更改时,它会获取所选元素的大小。显示的值看起来像 11 英尺、15 英尺、19 英尺,所以我将它拆分为只获取数字而不是英尺。根据选择的值,它需要更新遵循以下格式的下一个下拉菜单:

第 1 项 | 11'11"|
第 2 项 | 15'9"|
第 3 项 | 19'9"|
...

我不想显示 | | 之间的东西,它只是将每个项目与所选长度匹配(即选择第一个下拉列表中的 11 ft 选项,然后在第二个下拉列表中只显示 11'11" 选项下)。谁能告诉我为什么这些额外的值没有隐藏在 IE 中?

最佳答案

在这种情况下,我做的第一件事是针对 W3C 验证 HTML;事情在 IE 中通常不起作用,因为 HTML 不是 100% 兼容。有关我发现的一些问题,请参阅 http://hogsmill.wordpress.com/info/

关于javascript - jQuery 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4606464/

10-14 20:56
查看更多