2013-02-27 51 views
0

我需要做一個無線電集團擁有一流的「必需的」,所以我可以使用jQuery驗證插件,我試過的建議是每here的XPages設置類無線電集團(所需驗證)

這是場:

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

我也TRIE d設置何時加載文檔,但不能在沒有對視圖進行硬編碼的情況下按名稱選擇:_id,是否有與x $ XSnippet等價的選項?

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

由於'xp:radioGroup'不被視爲正常的html無線電輸入? – deadlock 2013-02-27 17:54:09

+0

你能否詳細說明「不是styleClass」? styleClass是被翻譯成HTML屬性類的XPages屬性。如果用於造型或其他目的取決於您的樣式表。您可以輸入任何樣式名稱,但不限於樣式表中的內容 – stwissel 2013-02-28 00:40:40

回答

0

加里,一個腳本塊添加到XPage(OutputScript),並添加:

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

...或jQuery的等價物。

順便說一句:這是一個通常的UI Blunder使用沒有默認值的無線電組。他們提供了用戶學會憎恨的「陷阱門」UI模式:您可以選擇一個值,但不能取消選擇它。因此,更好的用戶體驗是使用不同的控件(下拉菜單)或設置默認值。