【发布时间】:2016-10-24 22:16:29
【问题描述】:
我想使用 javascript 在 p:selectOneRadio 上设置检查状态。
我设法做到了,但它只适用于 selectOneRadio 列表中的第一个元素,这是代码。
<h:form id="formID">
<p:outputPanel id="customPanel" style="margin-bottom:10px">
<p:selectOneRadio id="customRadio" value="#{radioView.color}" layout="custom">
<f:selectItem itemLabel="Red" itemValue="Red" />
<f:selectItem itemLabel="Green" itemValue="Green" />
<f:selectItem itemLabel="Blue" itemValue="Blue" />
</p:selectOneRadio>
<h:panelGrid columns="2" cellpadding="5" border="1">
<p:radioButton id="opt1" for="customRadio" itemIndex="0" />
<h:outputLabel for="opt1" value="Red" />
<p:radioButton id="opt2" for="customRadio" itemIndex="1" />
<h:outputLabel for="opt2" value="Green" />
<p:radioButton id="opt3" for="customRadio" itemIndex="2" />
<h:outputLabel for="opt3" value="Blue" />
<p:commandButton value="select" ajax="true" onclick="selectRadios()" update="@form"/>
</h:panelGrid>
</p:outputPanel>
</h:form>
JavaScript
<script type="text/javascript">
function selectRadios() {
jQuery("input[name='formID:customRadio']:first").prop('checked', true);
}
;
</script>
当我加载页面并单击命令按钮时,它检查了第一个单选按钮并且很好,但我也想知道如何检查其他两个。
另外,如果有其他方法可以在不使用 javascript 的情况下将状态更改为选中该单选按钮,请告诉我。
感谢您的帮助。
-凯瓦
【问题讨论】:
-
您使用哪种 HTML 预处理器?你能发布生成的 HTML 吗?
-
您是否要选择所有单选框?如果是,您使用的 SelectOneRadio 只能选择列表中的一项。
-
@MarkVincentOsea 我不想全选。我想要的只是在单击命令按钮时选择一个单选按钮的代码。如您所见,我设法做到了,但仅针对第一个单选按钮(三个中的第一个),我该如何为第二个或第三个单选按钮做到这一点
-
@LouysPatriceBessette HTML 预处理器是什么意思?
-
我的意思是这个 HTML 编码语法
<[tagname]:[type ? ] [attributes]>... 它不是纯 HTML。 “预处理器”用于解释它。我不知道哪个...有很多。因此,如果您可以发布“真实”的 HTML,那将会有所帮助。
标签: java jquery jsf primefaces