在IE 8中破解了jQuery

时间:2010-09-07 15:20:33

标签: jquery onchange

我有一个方法可以在选择框中检测onChange事件。当用户点击选择框时,它应该检测到点击,获取id并通过调用php脚本将一些内容加载到它下面的div中。

这似乎在FF中正常运行但在IE中没有任何反应。

检测更改的代码: -

$("#select").change(function() {
    var selectedId = $(this).val();
    recordIds = getSelectedRecords(selectedId);
    loadContent('records', recordIds);
});

函数getSelectedRecords只返回一个div id数组。

我的loadContent()函数调用$ .ajax函数,该函数传递recordIds并获取要显示的正确详细信息。

即只是不想使用我的onChange()事件。如果我提醒了selectedId,我会得到正确的ID。如果我提醒记录,我什么也得不到。

function getSelectedTierPanels(tierId) {
    var container = $('#tier'+tierId+' a').map(function() { 
        return this.id.match(/\d+$/);
    }).get();
        return container;
}

但是如果我警告loadContent函数的第一个参数,我会得到正确的响应。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

要检查的是你使用的是什么版本的jquery。在低于1.4.2的版本中似乎存在问题。 (Source

根据那里的建议进行解决......

$("#select").change(function() {
    var selectedId = $(this).val();
    recordIds = getSelectedRecords(selectedId);
    loadContent('records', recordIds);
}).attr("onchange", function() { 
    var selectedId = $(this).val();
    recordIds = getSelectedRecords(selectedId);
    loadContent('records', recordIds);
});

它可能会被清理一下,或者只是更新到更新版本的jquery。