如何在标签中连接Primefaces UI和JavaScript组件

时间:2014-06-24 12:33:17

标签: javascript jsf jsf-2 primefaces

我无法将我的JavaScript组件发布到我拥有的primefaces属性。解决这个问题应该不是问题。

<h:header>
<script>
    function initialize() {
        var mapx = goomap.getMap();

        var map = new google.maps.Map(document
                .getElementById('form:layout:center:DataTablePanel:car2go'), mapx);
            var pointArray = new google.maps.MVCArray(taxiData);
        //i previously created taxi data and filled it
            heatmap = new google.maps.visualization.HeatmapLayer({
                data : pointArray
            });

            heatmap.setMap(map);
        }

        google.maps.event.addDomListener(window, 'load', initialize);
    </script>

以及我从以下地址获取属性地址的正文:

<h:body>

<h:form id="form">

    <p:layout id="layout">


        <p:layoutUnit id="center" position="center" size="70%">


            <p:outputPanel id="DataTablePanel">



                    <p:gmap id="car2go" center="37.782551, -122.445368" zoom="13"
                        type="HYBRID" style="width:600px;height:400px" widgetVar="goomap"
                        fitBounds="true" />
            </p:outputPanel>


        </p:layoutUnit>

    </p:layout>
</h:form>
</h:body>

1 个答案:

答案 0 :(得分:0)

当您从javascript / jQuery引用您的元素并且您不确定客户端ID是什么时,请始终尝试inspect the element并查看最终ID。

在您的情况下,唯一的UINamingContainer是表单,因此您的gmap ID为form:car2go

.getElementById('form:car2go'), mapx);

一个注意事项:因为我看到你的脚本在标题中运行,你可能还没有机会访问该元素,因此最好放在{{ 1}}或$(document).ready

结束之前