【发布时间】:2013-06-09 23:09:20
【问题描述】:
我想这个问题以前有人问过,但我仍然不明白该怎么做。我的目标是单击 GoogleMaps 中的一个点并存储我在支持 bean 上单击的点的坐标。我的代码如下:
JSF
<h:inputHidden id="lat" value="#{ChartsBean.lat}" />
<p:commandLink id="updateChart" update="chart" actionListener="#{ChartsBean.lineChart}"/>
<p:lineChart id="chart" value="#{ChartsBean.lineChart}" />
JS
google.maps.event.addListener(map, "click", function(event) {
var lat = event.latLng.lat();
var lng = event.latLng.lng();
document.getElementById('lat').value = '99': //just for testing
$("#updateChart").click();
});
支持豆
private String lat,lon;
//getters and setters
元素 'lat' 的值设置正确,但更改似乎没有到达支持 bean。
但是 updateChart 正在工作。我没有把它贴在这里,但是如果我有的话,我会把它贴在 bean 上:
EDIT1: 另一件事,如果在我的支持 bean 上我像这样设置 X 和 Y:
x = (int)(20*Math.random());
y = (int)(20*Math.random());
代替:
x = findX(Double.parseDouble(lat));
y = findY(Double.parseDouble(lon));
当我点击地图上的任意位置时,图表会重新刷新,显然是随机点。
【问题讨论】:
-
the changes don't seem to reach the backing bean而The element 'lat' is getting its value correctly setted是什么意思? -
我的 backing bean 上的变量 lat 的值始终为 null,虽然 JS 上的变量 lat 的值确实是正确的(本例中为 99)
标签: javascript jsf primefaces