Internet explorer 哎。GridView过滤器在IE8和Opera中不起作用(Firefox很好)

Internet explorer 哎。GridView过滤器在IE8和Opera中不起作用(Firefox很好),internet-explorer,gridview,yii,Internet Explorer,Gridview,Yii,使用Yii框架开发站点 当我在GridView过滤器输入框中键入要搜索的关键字,然后点击Enter-表单不会提交到服务器。 但是点击选项卡或在输入字段外用鼠标单击-确实有效 问题在于IE和Opera。Firefox很好 编辑 dInGd0nG建议使用类似问题的解决方法,但jquery.yiigridview.js自发布该解决方法以来,代码已发生更改。它现在使用on()函数,而不是live() 现在代码已经大不相同了,我不确定自己是否能想出新的解决方法。 有人能为当前的jquery.yiigrid

使用Yii框架开发站点

当我在GridView过滤器输入框中键入要搜索的关键字,然后点击
Enter
-表单不会提交到服务器。 但是点击
选项卡
或在输入字段外用鼠标单击-确实有效

问题在于IE和Opera。Firefox很好

编辑

dInGd0nG
建议使用类似问题的解决方法,但
jquery.yiigridview.js
自发布该解决方法以来,代码已发生更改。它现在使用
on()
函数,而不是
live()

现在代码已经大不相同了,我不确定自己是否能想出新的解决方法。 有人能为当前的
jquery.yiigridview.js
修改该补丁吗

所以,据我所知,这是处理过滤器输入提交的部分

$(document).on('change', inputSelector, function () {
    var data = $(inputSelector).serialize();
    if (settings.pageVar !== undefined) {
        data += '&' + settings.pageVar + '=1';
    }
    $('#' + id).yiiGridView('update', {data: data});
});
它在Firefox中工作,在IE或Opera中不工作

有没有办法解决这个问题

编辑2

我想出这个方法是为了让IE和Opera在点击
Enter
键时发送过滤请求

if($.browser.msie || $.browser.opera) {
    $(document).on('keypress', inputSelector, function(event){
        if(event.keyCode == 13) {
            var data = $(inputSelector).serialize();
            if (settings.pageVar !== undefined) {
                data += '&' + settings.pageVar + '=1';
            }
            $('#' + id).yiiGridView('update', {data: data});
        }
    });
} 

但是它有点难看。

这是jquery的一个问题。该页面也有一个工作aorund。也看看这个。

这看起来像个bug。可能会在github.com/yiisoft/yiiPost上报告您的代码,可能是您的代码有轻微的输入错误。我有在Chrome&FF中工作的代码,但在IE中没有,这是我的错别字。只需检查IE8/9中的默认gridview,它将无法工作,正如sevenWonders所说的那样。