2012-06-08 1 views
3

Для того, чтобы обновить данные, я использую primefaces poll:Адаптивный опрос с JSF и PrimeFaces

<p:poll id="myPoll" interval="#{controller.interval}"/>

и хотели бы контролировать интервал обновления с помощью центрифуги.

<p:spinner value="#{controller.interval}"> 
    <p:ajax process="@this" update="myPoll"/> 
</p:spinner> 

Значение свойства bean-компонента обновляется, как ожидалось, но интервал опроса не установлен. Опрос выполняется сгенерированным скриптом, который включает значение интервала. Как заставить poll восстановить сценарий обновления, чтобы включить новое значение, не отправляя/не переписывая всю форму?

ответ

3

Если вы даете это widgetVar, то вы можете манипулировать им с помощью javascript.

widget_form_j_idt19.stop(); 
widget_form_j_idt19.timer = 1; 
widget_form_j_idt19.cfg.frequency = 1; 
widget_form_j_idt19.start(); 

Просто поместите его в сценарий, и вы сможете обновить его до того, что захотите после обновления ajax.

+1

Спасибо, maple_shaft. Потребовал мне время, чтобы попробовать, но он действительно работает. theres sth Я до сих пор не понимаю - «Таймер» - это функция в исходном файле pf.js. Почему настройка на число работает? И - когда я исследую элементы с firebug, скрипт для элемента poll не изменяется. Зачем? – kostja