使用 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});
}
});
}
但是有点丑