JSF-2,0, Mojarra 2.1.19, PrimeFaces 3.4.1р: DataTable livescroll переопределяет Js функция
Как видно из моего пред. вопросы Я использую p:dataTable
, чтобы иметь возможность отображать вид модуля статуса/комментария. И есть функция JS/jQuery, которая редактирует CSS строк dataTable;
jQuery(document).ready(function() {
var rowSize = '#{statusBean.size}';
for (var i = 0; i < rowSize; i++) {
var rowIndex = i;
var inputTextStr = 'dataTableForm' + ':dataTable:' + rowIndex + ':commentInput';
var inputText = $(document.getElementById(inputTextStr));
inputText.css({'box-shadow':'0 0 5px #EB2F28'});
}
});
И p:dataTable
регулярно один с liveScrolling=true
и предположим, что имеет один и только p:inputText
, который имеет измененную CSS с помощью функции выше.
Неисправность возникает, когда p:dataTable
имеет количество рядов. Предполагая, что пользователь прокручивает вниз, live scroll
событие таблицы запускается (ajax-запрос), а таблица загружает больше строк, но загружает компоненты p:inputText
с обычным CSS. Функция не может применять css в перезаписываемые строки.
Поэтому есть нужно поймать, что liveScroll
события или ордер функции JS для работы при каждом обновлении p:dataTable
Большое спасибо, я собираюсь отследить проблему. Еще раз спасибо. –
Я тестировал это. Кажется, что он работает хорошо, но когда вы путешествуете на других страницах и возвращаетесь на эту связанную страницу, если условие в методе onPageLoad всегда имеет ложное условие, поэтому он никогда не выполняет applyMyCSS() снова после серфинга на других страницах. –
Попробуйте отладить 'onPageLoad' и посмотреть, что такое значения' datatableId' и параметры в карте параметров. Возможно, вы просто не назначили правильный идентификатор в параметре метода. – partlov