Internet explorer 哎。GridView过滤器在IE8和Opera中不起作用(Firefox很好)
使用Yii框架开发站点 当我在GridView过滤器输入框中键入要搜索的关键字,然后点击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
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所说的那样。