1

是否可以将下一个代码转换为 bootsfaces 标签?

<div class="radio">
    <label><input type="radio" name="optradio"/>Option 1</label>
 </div>
 <div class="radio">
     <label><input type="radio" name="optradio"/>Option 2</label>
 </div>

谢谢!

4

1 回答 1

1

2016 年 7 月 18 日更新:受您的问题启发,我开始实现一个<b:radiobutton />比其标准 JSF 对应物更灵活的组件。它将与 BootsFaces 的下一个版本一起发布 - 可能是 1.0,这要归功于 JavaOne 2016。在此之前,请按照下面的方法进行操作。

我们还没有实现<b:radioButton />,但是您可以通过添加隐藏的输入字段和一些 JavaScript 代码来模拟它:

  <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>

如果您需要 AJAX,请通过在标签的处理程序中添加隐藏<b:commandButton update="someRegion" onclick="ajax:myBean.myMethod()" />并调用click()此按钮的方法来实现它:onclick

<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"
                 />
于 2016-07-17T10:56:02.753 回答