我如何用jquery引用jsf对象?

时间:2013-03-13 01:52:05

标签: jquery jsf

我想用jquery获取一个文本框对象。

$(function() {
    // create a datepicker with default settings
    $("[id='#{fbForm.beginDate}']").mobiscroll().date({
        invalid: {
            daysOfWeek: [0, 6], 
            daysOfMonth: ['5/1', '12/24', '12/25']
        }, 
        theme: 'android-ics light', 
        display: 'bottom', 
        mode: 'scroller', 
        dateOrder: 'mmD ddyy'
    });
});

这不起作用?为什么会出现问题

2 个答案:

答案 0 :(得分:1)

假设你有

<h:form id="myForm">
    <h:inputText id="myText" />
</h:form>

您可以使用

访问jQuery组件
var myText = $('#myForm\\:myText');

示例:

<script type="text/javascript">
    //<![CDATA[
    window.onload = function() {
        var myTextValue = $('#myForm\\:myText').val();
        alert(myTextValue);
    };
    //]]>
</script>

<h:form id="myForm">
    <h:inputText id="myText" value="#{fbForm.beginDate}" />
</h:form>

或者您可以在prependId="false"上添加<h:form>来使用纯组件ID:

<script type="text/javascript">
    //<![CDATA[
    window.onload = function() {
        var myTextValue = $('#myText').val();
        alert(myTextValue);
    };
    //]]>
</script>

<h:form prependId="false">
    <h:inputText id="myText" value="#{fbForm.beginDate}" />
</h:form>

答案 1 :(得分:0)

万一您使用RichFaces,您也​​可以使用:

rich:clientId(id) - 通过它的短ID返回组件的客户端ID。

rich:element(id) - 返回传递的短ID的DOM元素

rich:component(id) - 返回richfaces客户端组件实例以调用某些API方法。

rich:isUserInRole(role) - 如果用户指定了角色,则返回。

rich:findComponent(id) - 返回给定短ID的组件实例

rich:jQuery(id) - 返回一个带有给定short id元素的jQuery对象

示例:

<h:form>
    <h:inputText id="input">
        <a4j:ajax render="out" />
    </h:inputText>
    <h:outputText value="#{rich:findComponent('input').value}" id="out" />
</h:form>

有关如何执行此操作的更多信息和示例:

http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=functions&skin=blueSky

此致