javascript - JS/传单。事件 (.on ('click', onClick)) 不会触发
问题描述
我开始使用 Leaflet 库。单击标记时,我正在尝试添加事件。
我有一个循环,可以根据数据库中的数据量在地图上创建标记。原来这个文件:
array(6) {
[0]=>
array(13) {
[0]=>
string(9) "37.162047"
[1]=>
string(10) "140.328209"
[2]=>
string(321) "Japan word word word word word word word word word word word word word word word"
[3]=>
string(12) "Japan"
[4]=>
NULL
[5]=>
string(10) "Tokyo"
[6]=>
string(10) "Ocean"
[7]=>
string(10) "12.04.2013"
[8]=>
string(1) "5"
[9]=>
string(1) "8"
[10]=>
string(3) "345"
[11]=>
string(6) "676796"
[12]=>
string(7) "6799654"
}
[1]=>
array(13) {
[0]=>
string(9) "49.775444"
[1]=>
string(9) "10.757696"
[2]=>
string(325) "Germany word word word word word word word word word word word word word word word"
[3]=>
string(16) "Germany"
[4]=>
NULL
[5]=>
string(12) "Berlin"
[6]=>
string(10) "Rock"
[7]=>
string(10) "21.03.2010"
[8]=>
string(1) "6"
[9]=>
string(1) "4"
[10]=>
string(5) "45736"
[11]=>
string(7) "7699870"
[12]=>
string(7) "4563463"
}
..............
}
该文件是使用以下代码获得的:
$data_encode = (json_encode($data));
使用这个解析:
var map_data = JSON.parse('<? echo $data_encode; ?>');
标记JS代码:
function description_event(e) {
dscr.innerHTML = map_data[i][2];
}
for (var i = 0; i < map_data.length; i++) {
marker = new L.marker([map_data[i][0], map_data[i][1]])
.bindPopup("<b>" + map_data[i][8] + "</b>" + "<br>" + map_data[i][7] + "<br>" + map_data[i][3])
.on('click', description_event)
.addTo(map);
}
}
我需要通过单击标记从数据库发送数据。因此,例如,“日本”被写在标记上,描述“日本词词 ...”被发送到块,发送到 id =“dscr”的 div。但我做不到。它仅在 map_data [0] [2] 时发送点击;并且只有“日本词词...”和map_data [i] [2];不起作用。也就是说,迭代不起作用。我尝试了所有方法。
这个问题也一样
.on('click', function() { dscr.innerHTML = map_data[0][2]; })
解决方案
推荐阅读
- python - Zip 字典和列表匹配日期
- c# - 如何在 C# 上使用 Costum 对象创建 arrayList
- r - 带有 mutate 和 ifelse 的新列,但在 R 中保留 NA
- c++ - 我正在尝试使用向量创建一个圆形数组,是否有手册可以完成此操作?
- html - 导航链接应在滚动时为特定部分激活
- angular - 在渲染模板之前等待两个 observables(包括失败的一个)
- laravel - laravel addSelectRaw() - 如何在 addSelect() 中绑定变量?
- java - Spring Security 在 REST 控制器上进行单元测试时导致问题
- python - TensorFlow Keras Softmax 层输出相对于输入多维
- c++ - 多次清理 OpenSSL 是否安全?