Разработка сайта с помощью рамки Yii.Yii. Фильтр GridView не работает в IE8 и Opera (Firefox в порядке)
Когда я печатаю ключевые слова для поиска в поле ввода фильтра GridView, а затем удаляю Enter
- форма не отправляется на сервер. Но удар Tab
или щелчок мышью вне поля ввода - работает.
Проблема в IE и Opera. Firefox в порядке.
EDIT
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.
Любые идеи, как исправить это?
EDIT 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});
}
});
}
Но это своего рода уродливое.
Это похоже на ошибку. Возможно, сообщите об этом на github.com/yiisoft/yii – Narretz
Опубликуйте свой код, возможно, у вас небольшая опечатка в коде. У меня был код, который работал в Chrome & FF, но не в IE, который был опечаткой с моей стороны. – Orlymee
Просто проверьте сетку по умолчанию в IE8/9, она не будет работать, точно так же, как указано семь Wonders. – Narretz