0

jQuery Validationプラグインを使用できるように、ラジオグループに「必須」のクラスを持たせる必要があります。ここにある提案を試しました

これはフィールドです:

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

ドキュメントがロードされたときの設定も試しましたが、view:_id をハードコーディングしないと名前で選択できません。x$ XSnippet に相当するものはありますか?

$('input:radio[name="view:_id1:CLCompliant"]').addClass("required");
4

1 に答える 1

0

Gary さん、スクリプト ブロックを XPage (OutputScript) に追加し、以下を追加します。

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

...または同等のjQuery。

ところで: デフォルト値なしでラジオ グループを使用するのは、よくある UI の失敗です。これらは、ユーザーが嫌うことを学んだ「トラップドア」UI パターンを提供します。値を選択することはできますが、選択を解除することはできません。したがって、ユーザー エクスペリエンスを向上させるには、別のコントロール (ドロップダウン) を使用するか、既定値を設定することをお勧めします。

于 2013-02-28T00:37:19.757 に答える