使用Yii框架开发网站。
当我在GridView过滤器输入框中键入要搜索的关键字然后点击Enter
时 - 表单未提交给服务器。
但是点击Tab
或在输入字段外单击鼠标 - 确实有效。
问题出在IE和Opera中。 Firefox很好。
修改
dInGd0nG
建议this forum topic针对类似问题采取解决方法,但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});
}
});
}
但它有点难看。