【问题标题】:Can Not Read id on JSF Components无法读取 JSF 组件上的 id
【发布时间】:2010-11-01 16:33:57
【问题描述】:

我有一个小问题 我正在尝试在 JSF textarea 组件上使用 MartkItUp JQuery 富文本编辑器。 我的表单如下所示:

 <h:form id="comment">
    <h:inputTextarea id="commentBody" cols="10" rows="10" value="#{postComment.commentBody}" required="true" requiredMessage="Comment Body is reqguired" >
      <f:validateLength maximum="500" minimum="2" />
    </h:inputTextarea>
                <%-- more of the form... %-->

问题是在输出时它给了我这样的 textarea 的 id

id="comment:commentBody"

当我尝试在 JQuery 中指向它时,什么也没有发生。

$('#comment:commentBody').markItUp(mySettings);

我之前有一个纯文本区域,没有问题。现在,我有很多。

我如何在 JQuery 中指向 id,看起来像 comment:commentBody

P.S: 我知道我可以通过 $('textarea').markItUp(mySettings); 指向这个文本区域但是我正在寻找通过它的 ID 指向特定文本区域的解决方案。

【问题讨论】:

    标签: java javascript jquery jsp jsf


    【解决方案1】:

    试试这个,$('#comment\\:commentBody'),用于 JQuery 1.1.3 或更高版本。

    【讨论】:

      【解决方案2】:

      您可以阅读 JSF ID here,但在这种情况下,您可能还会发现 h:form prependId 属性很有用。

      【讨论】:

        【解决方案3】:

        试试这个:

        $("textarea[id$='commentBody']").markItUp(mySettings);
        

        这将选择 ID endingcommentBody 的文本区域。

        选择 ID 以特定字符串开头的控件,将 $ 替换为 ^

        【讨论】:

        • 尝试使用您的方法时出错。但无论哪种方式,感谢您的帮助
        猜你喜欢
        • 1970-01-01
        • 2011-11-10
        • 1970-01-01
        • 2015-01-13
        • 2011-06-04
        • 2012-04-09
        • 1970-01-01
        • 2011-09-28
        • 2018-12-08
        相关资源
        最近更新 更多