Javascript 从函数内部的数组中获取Id
我对传单JS映射中的for循环有问题,由于某些原因,我无法获取它。请从数组中给我正确的Id,而不是给我所有clickevent上的最后一个Id。在Javascript 从函数内部的数组中获取Id,javascript,leaflet,Javascript,Leaflet,我对传单JS映射中的for循环有问题,由于某些原因,我无法获取它。请从数组中给我正确的Id,而不是给我所有clickevent上的最后一个Id。在$.get()之外,Id显示正确。但在里面我只得到了数组中的最后一个。有没有可能取消获得定制矿石的选项?有没有其他方法 for (var i = 0; i < myColumnDefs.length; i++) { var obj = myColumnDefs[i]; // obj.id = i; var lat
$.get()
之外,Id显示正确。但在里面我只得到了数组中的最后一个。有没有可能取消获得定制矿石的选项?有没有其他方法
for (var i = 0; i < myColumnDefs.length; i++) {
var obj = myColumnDefs[i];
// obj.id = i;
var latitude = obj.GisLatitude.toFixed(5);
var longitude = obj.GisLongitude.toFixed(5);
//The correct id
console.log(obj.Id);
var m = L.marker([latitude, longitude], { icon: greenIcon }).on('click', function (e) {
var markeren = this;
debugger;
$.get(ol.url('~/Map/MapContent/'), {id: m.id }, function(data) {
L.popup()
.setLatLng(markeren.getLatLng())
.setContent(data)
.openOn(map);
});
}).addTo(map);
m.id = obj.Id;
console.log('Latitude: '+latitude + ' - Longitude: ' + longitude);
}
for(var i=0;i
在$的成功/错误处理程序中。获取上下文绑定为event.target,并且在调用事件处理程序之前,您正在迭代的循环很早就完成了。因此,您将在单击处理程序时获得最后一个ID
记录此@var markeren=this控制台上的代码>。上下文是您所需要的。
再次在$内登录markeren
。获取,它将不是您所期望的
适当地绑定函数上下文,您的问题就会消失。可能重复的