1

使用 Yii 框架开发网站。

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

问题出在 IE 和 Opera 中。火狐没问题。

编辑

dInGd0nG建议此论坛主题并提供类似问题的解决方法,但jquery.yiigridview.js自该解决方法发布以来代码已更改。它现在使用on()function 而不是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});
        }
    });
} 

但是有点丑

4

1 回答 1

0

这是此处所述的 jquery 问题。该页面也有一个工作区。也看看这个论坛帖子

于 2012-05-28T13:55:43.533 回答