我需要让一个Radio Group有一个“必需”的类,所以我可以使用jQuery Validation插件,我已经尝试了建议是here
这是字段:
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend class="ui-input-text">Compliant?</legend>
<xp:radioGroup id="CLCompliant"
value="#{docAuditCLAnswer.Compliant}">
<xp:selectItem itemLabel="Yes" itemValue="Yes"
id="CLCompliantYes">
</xp:selectItem>
<xp:selectItem itemLabel="No" itemValue="No"
id="CLCompliantNo">
</xp:selectItem>
<xp:selectItem itemLabel="N/A" itemValue="NA"
id="CLCompliantNA">
</xp:selectItem>
</xp:radioGroup>
</fieldset>
</div>
我尝试了以下内容,因为这些不是styleClass属性,但是属性被忽略/不呈现:
<xp:selectItem itemLabel="Yes" itemValue="Yes"
id="CLCompliantYes">
<xp:this.attrs>
<xp:attr name="class" value="required">
</xp:attr>
</xp:this.attrs>
</xp:selectItem>
我还尝试设置加载文档的时间,但是如果没有对视图进行硬编码,则无法通过名称进行选择:_id,是否有与x $ XSnippet相同的内容?
$('input:radio[name="view:_id1:CLCompliant"]').addClass("required");
答案 0 :(得分:0)
Gary,在XPage(OutputScript)中添加一个脚本块并添加:
XSP.addOnLoad(function() {
$('input:radio[name="#{id:CLCompliant}"]').addClass("required");
})
...或jQuery等价物。
顺便说一句:使用没有默认值的无线电组是一种常见的UI错误。它们提供了用户学会讨厌的“陷阱门”UI模式:您可以选择一个值,但不能取消选择它。因此,更好的用户体验是使用不同的控件(Dropdown)或设置默认值。