0

我有一种方法可以检测选择框上的 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。如果我提醒recordIds,我什么也得不到。

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

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

有任何想法吗?

4

1 回答 1

0

要检查的一件事是您使用的是什么版本的 jquery。低于 1.4.2 的版本似乎存在问题。(来源

基于那里的建议的解决方法......

$("#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。

于 2010-09-07T15:39:50.210 回答