代码之家  ›  专栏  ›  技术社区  ›  Matthias Hryniszak

富有的面孔rich:clientId within 小脸

  •  1
  • Matthias Hryniszak  · 技术社区  · 14 年前

    我试着这样做:

    <?xml version="1.0"/>
    <ui:composition ....>
        <h:inputText id="#{id}InputText" value="#{value}"/>
    
        <rich:calendar id="#{id}Shevron"
            popup="true"
            datePattern="ddMMyy"
            showInput="false" 
            todayControlMode="hidden"
            enableManualInput="false"
            showApplyButton="false"
            updateDays="14"
            ondateselected="alert('#{rich:clientId('#{id}Shevron')}');"
            inputClass="xwingml-input"/>
    </ui:composition>
    

    我在这里面临的问题是,实际的客户机id是为我的facelts生成的

    提前谢谢!。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Damo    14 年前

    全部 rich:clientId document.getElementById() 并提供完整的身份证。

    所以不要使用 #{rich:clientId('#{id}Shevron')} 就用它吧 document.getElementById('#{id}Shevron'); 并确保指定完整的ID(即包括表单ID等)

        2
  •  3
  •   kothvandir    12 年前

    您可以将参数传递给JSTL函数,而不需要求值运算符(#{}${})。看看这个 String length example

    因此,如果您的“id”不是动态生成的,这将解决您的问题:

    #{rich:clientId(id)}
    

    <c:set var="myDynamicID" value="${id}Shevron"/>
    

    然后使用它来获取客户端UI。

    #{rich:clientId(myDynamicID)}