代码之家  ›  专栏  ›  技术社区  ›  Dave Swersky

Internet Explorer 8中的jqgrid有问题

  •  1
  • Dave Swersky  · 技术社区  · 15 年前

    我用大量的jqgrids开发了一个ASP.NET MVC(版本2 rc)应用程序。它就像是火狐的冠军,但我在IE8中发现了一个问题。

    “主视图”网格可以通过搜索框或网格上方的几个下拉列表之一进行过滤。我使用一些javascript重置网格的URL,然后触发一个重载,thusly:

    function filterByName(filter) {
            if (filter == 'All') {
                $('#list').setGridParam({ url: 'Application/GetApplications' });
                $('#list').trigger("reloadGrid");
            }
            else {
                $('#list').setGridParam({ url: 'Application/GetAppByName/' + filter + '/' });
                $('#list').trigger("reloadGrid");
            }
        }
    

    这在firefox中很神奇,但是当我在ie8中这样做的时候,我收到了一个HTP400错误的请求。与Firebug的火焰喷射器相比,IE8客户端调试器就像弗林特和廷德,所以我不太幸运地弄清楚它为什么会在IE8中中断。有人看到这个吗?

    另外,这里的jqgrid“trigger”方法正在接受Ajax异常。有没有办法让它冒泡起来,这样我就可以了解异常的详细信息?

    更新 :

    问题在于下拉列表的“onchange”事件中的语法。我用的是:

    onchange="filterByMnemonic($('#drpMnemonic')[0].value);
    

    火狐显然不介意,但我认为这是胡桃。但是,这在两种浏览器中都有效:

    onchange = "filterByMnemonic($('#drpMnemonic > option:selected').attr('value'));"
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Dave Swersky    15 年前

    更新:

    问题在于下拉列表的“onchange”事件中的语法。我用的是:

    onchange="filterByMnemonic($('#drpMnemonic')[0].value);
    

    火狐显然不介意,但我认为这是胡桃。但是,这在两种浏览器中都有效:

    onchange = "filterByMnemonic($('#drpMnemonic > option:selected').attr('value'));"
    
    推荐文章