Ich habe eine p: selectOneRadio Setup wie folgt:PrimeFaces Radiobutton Arten nicht, wenn darauf geklickt via Javascript Aktualisierung
<p:selectOneRadio id="positionRadio" value="#{employeeBean.empPosition}" converter="#{empPositionConverter}" layout="custom"
required="true" requiredMessage="Please select a position">
<f:selectItems value="#{employeeBean.positionList}" var="pos"
itemLabel="#{pos.name}" itemValue="#{pos}" />
<p:ajax process="@this" update="@this"/>
</p:selectOneRadio>
<ui:repeat id="iterator" value="#{employeeBean.positionList}" var="template" varStatus="iterStat">
<div class="form-group" onclick="document.getElementById('employeeForm:positionRadio:#{iterStat.index}').click();">
<h:outputText styleClass="form-control" value="#{pos.name}"/>
<p:radioButton for=":employeeForm:positionRadio" itemIndex="#{iterStat.index}" />
<div style="display: inline">
<p style="display: inline">
<h:outputText value="#{pos.description}"/>
</p>
</div>
</div>
</ui:repeat>
Ich brauche den entsprechenden Radiobutton zu überprüfen, ob alles in der div es enthält geklickt wird. Ich versuche, dies zu tun mit
onclick="document.getElementById('employeeForm:positionRadio:#{iterStat.index}').click();"
Dies ist nur zur Hälfte funktioniert. Wenn ich auf das div klicke, sehe ich die POST Anfrage Feuer, aber die Stile sind nicht aktualisiert, so dass keiner meiner Radio-Buttons clientseitig überprüft wird.
Dies ist natürlich, weil p: radioButton als div mit einem versteckten Eingang Radio-Element und einem sichtbaren Bereich gerendert wird, die entsprechend gestaltet ist. Warum wird der Span-Stil nicht aktualisiert, wenn er mit Javascript angeklickt wird und gibt es eine Möglichkeit, ihn zu beheben?
JSF Mit 2.1.7, PrimeFaces 5.0 und Java 1.7
Hmmm, das funktioniert nicht für mich (ich benutze Primefaces 5.0, habe aber auch ein schnelles Upgrade auf 6.0 zum Testen gemacht). Ich werde eine Testumgebung erstellen, um herauszufinden, was das Problem für mich ist, aber ich kann vielleicht erst nächste Woche antworten. – Vinc
"Nicht funktioniert" ist eine Endbenutzerbeschreibung. Was passiert hinter den Kulissen? In z.B. die Entwicklerkonsole im Browser. Und bitte fügen Sie beim nächsten Mal Versionsinformationen zur Frage hinzu.Die Dinge könnten in den PF-Versionen anders sein, und das spart mir Zeit in älteren Versionen ... – Kukeltje
Es tut mir leid, dass ich die Versionsnummer nicht einschließe. Ich sagte zu der Zeit nicht, weil ich auf irgendeine Weise wissen wollte, dass ich die Antwort gesehen habe (ich will nicht, dass ich hier nicht mehr involviert bin und möglicherweise eine gute Diskussion verliere). Ich habe die Dev-Konsole überprüft und nichts passiert dort, keine Logs, keine POSTs, nichts, als ob das Div keine Aktion hat, wenn es geklickt wird. Ich möchte ein unabhängiges Projekt aufsetzen, um zu sehen, ob ich Ihre Lösung oder mein Problem kopieren kann, aber ich habe nur Zeit für diese nächste Woche, fürchte ich. – Vinc