XPages设置无线电组的类(用于必需的验证)

时间:2013-02-27 17:44:55

标签: jquery validation xpages

我需要让一个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");

1 个答案:

答案 0 :(得分:0)

Gary,在XPage(OutputScript)中添加一个脚本块并添加:

XSP.addOnLoad(function() {
    $('input:radio[name="#{id:CLCompliant}"]').addClass("required");
    })

...或jQuery等价物。

顺便说一句:使用没有默认值的无线电组是一种常见的UI错误。它们提供了用户学会讨厌的“陷阱门”UI模式:您可以选择一个值,但不能取消选择它。因此,更好的用户体验是使用不同的控件(Dropdown)或设置默认值。