我开发了一个带有大量jqGrids的ASP.NET MVC(版本2 RC)应用程序。它在Firefox中像一个冠军,但我在IE8中发现了一个问题。
“主视图”网格可以通过搜索框或网格上方的一些下拉菜单进行过滤。我使用一些javascript来重置网格的url,然后触发重新加载,因此:
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中执行此操作时,我收到了HTTP 400错误请求。与Firebug的火焰喷射器相比,IE8客户端调试器就像火石和火炬一样,所以我没有太多的运气弄清楚为什么它在IE8中断了。有没有人见过这个?
此外,这里的jqGrid“触发器”方法正在吞噬AJAX异常。有没有办法让它冒泡,所以我可以得到异常细节?
更新:
问题在于我的“onchange”事件中的语法对于下拉列表。我正在使用:
onchange="filterByMnemonic($('#drpMnemonic')[0].value);
哪个Firefox显然不介意,但IE认为这是nuthin'。但是,这适用于两种浏览器:
onchange = "filterByMnemonic($('#drpMnemonic > option:selected').attr('value'));"
答案 0 :(得分:0)
更新:
问题在于我的“onchange”事件中的语法对于下拉列表。我正在使用:
onchange="filterByMnemonic($('#drpMnemonic')[0].value);
哪个Firefox显然不介意,但IE认为这是nuthin'。但是,这适用于两种浏览器:
onchange = "filterByMnemonic($('#drpMnemonic > option:selected').attr('value'));"