如何在jquery中引用JSF组件ID?

前端之家收集整理的这篇文章主要介绍了如何在jquery中引用JSF组件ID?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to select JSF components using jQuery?
我如何在jquery中引用JSF组件,因为我不知道要引用的组件的id的前面的id?

解决方法

您可以在视图中给出所有 NamingContainer组件,例如< h:form>,< h:dataTable>,< ui:repeat>< my:composite>固定的ID,以便HTML生成的客户端ID可以安全地预测。如果您不确定,只需在webbrowser中打开页面,右键单击View Source即可。如果您在客户端ID链中看到像j_id123这样的自动生成ID,那么您需要准确确定该组件的固定ID。

或者,您可以使用#{component.clientId}来将组件的客户端ID打印到生成的HTML输出。您可以使用组件的绑定属性将组件绑定到视图。这样的事情

<h:inputText binding="#{foo}" />
<script>
    var $foo = $("[id='#{foo.clientId}']"); // jQuery will then escape ":".
    // ...
</script>

这只需要脚本是视图文件的一部分。

作为另一个选择,你可以给出有问题的元素一个类名:

<h:inputText styleClass="foo" />
<script>
    var $foo = $(".foo");
    // ...
</script>

作为另一个替代方案,您可以将HTML DOM元素本身传递到函数中:

<h:inputText onclick="foo(this)" />
<script>
    function foo(element) {
        var $element = $(element);
        // ...
    }
</script>
原文链接:https://www.f2er.com/jquery/182336.html

猜你在找的jQuery相关文章