Update 18. Juli 2016: Inspiriert von Ihrer Frage habe ich begonnen, eine <b:radiobutton />
Komponente zu implementieren, die flexibler ist als ihr Standard-JSF-Gegenstück. Es wird mit der nächsten Version von BootsFaces veröffentlicht - wahrscheinlich 1.0, die auf JavaOne 2016 zurückzuführen ist. Bis dahin folgen Sie dem unten stehenden Rezept.
Wir haben nicht versucht <b:radioButton />
noch, aber man kann es simulieren, indem ein verstecktes Eingabefeld hinzufügen und einig JavaScript-Code:
<b:panel title="Survey" look="primary">
<p>Which Java version do you use?</p>
<div class="radio">
<label onclick="$('.hidden-optradio').val(7)">
<input type="radio" name="optradio" value="7" />
Java 7
</label>
</div>
<div class="radio">
<label onclick="$('.hidden-optradio').val(8)">
<input type="radio" name="optradio" value="8" />
Java 8
</label>
</div>
<h:inputText value="#{radiobuttonBean.javaVersion}" styleClass="hidden-optradio" pt:type="hidden" />
<script>$('input[name=optradio][value=#{radiobuttonBean.javaVersion}]').attr("checked", "checked");</script>
<b:commandButton value="submit your choice" action="#{radiobuttonBean.submit}" look="primary" />
<b:messages />
</b:panel>
Wenn Sie AJAX benötigen, implementieren sie durch eine verstecktes <b:commandButton update="someRegion" onclick="ajax:myBean.myMethod()" />
Hinzufügen und ruft die click()
Methode dieser Taste in der onclick
Handler der Etiketten:
<label onclick="$('.hidden-optradio').val(8);$(.ajax-button).click();">
<input type="radio" name="optradio" value="8" />
Java 8
</label>
</div>
...
<b:commandButton value="submit your choice"
action="#{radiobuttonBean.submit}" look="primary"
update="@form"
style-class="hidden ajax-button"
/>