PrimeFaces (mobile): InputText не запускает событие ajax

Доброе утро,

Я занимаюсь разработкой мобильного Интернета с использованием Primefaces-mobile и JSF. В Интернете есть компонент панели "Аккордеон", внутри которого есть несколько динамических вкладок, сгенерированных списком, полученным из базы данных. Каждая вкладка содержит сетку с некоторыми записями, также динамически генерируемую из списка, полученного из базы данных. Для целей тестирования внутри сетки есть 3 столбца, я имею в виду, что при смене поля ввода из столбца 2 текст вывода из столбца 3 должен меняться с тем же нажатием клавиши, что и для поля ввода.

Внутри XHTML:

    <p:accordionPanel dynamic="true" 
                  cache="true"
                  id="zoneAccordion"
                  var="zone" 
                  value="#{explorerBean.childrenZones}"
                  activeIndex="-1">    

    <p:ajax event="tabChange" listener="#{explorerBean.onTabChange}" update=":form:growlTest"/>


    <p:tab title="#{zone.desc}">  

        <!-- SIGNALS GRID -->                            
        <p:dataTable id="signalsGrid2"
                     var="signal"
                     value="#{explorerBean.navigationBean.signalsList}" >
            <p:column headerText="Signal ID">
                <h:outputText id="idSignalLabel" 
                              value="#{signal.idSignal}"/>
            </p:column>
            <p:column headerText="Value">
                <p:inputText value="#{signal.value}"
                             idsignal="#{signal.idSignal}"
                             size="3">

                    <!-- FIRE AN EVENT -->
                    <p:ajax event="keyup" update="out1"/>

                </p:inputText>                                    
            </p:column>
            <p:column headerText="Test">                                    
                <h:outputText id="out1" value="#{signal.value}" />                                     
            </p:column>
        </p:dataTable> 
         <p>

        </p>

        <!-- SAVE CHANGES BUTTON -->   
        <p:commandButton value="Save changes"                                             
                         update=":form:growlTest"
                         style="width: 100%"
                         icon="ui-icon-disk"
                         actionListener="#{explorerBean.saveChangesButton}">                                
        </p:commandButton>

    </p:tab> 

</p:accordionPanel>  

Событие tabChange вызывается правильно, поэтому слушатель запускает "explorerBean.onTabChange". Проблема заключается в том, что изменяется содержимое inputBox (столбец 2 на вкладке). Событие ajax "keyup" не запускается, поэтому содержимое outputText (столбец 3 на вкладке) не изменяется.

ExplorerBean анонимируется как управляемый компонент:

@ManagedBean
@RequestScoped
public class ExplorerBean implements Serializable {

Я искал любой ответ, и я обнаружил проблему запуска событий во вкладках, но это должно быть исправлено в версии, которую я использую.

О версиях, которые я использую, здесь есть зависимости Maven:

        <!-- JSF -->
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.1.1-b04</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.1.1-b04</version>
        </dependency>

         <!-- PRIME FACES -->
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>3.5</version>
        </dependency>
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces-mobile</artifactId>
            <version>0.9.3</version>
        </dependency>
        <dependency>
            <groupId>org.primefaces.themes</groupId>
            <artifactId>cupertino</artifactId>
            <version>1.0.6</version>
        </dependency>   

Кто-нибудь знает, правильно ли работает ajax-события внутри вкладок в PrimeFaces? Знаете ли вы какой-либо другой способ вызвать событие из inputText?

Большое спасибо.

С уважением, Рафа.

0 ответов

Другие вопросы по тегам