gpt4 book ai didi

javascript - 从 onMarkerClick 打开不同的模态

转载 作者:行者123 更新时间:2023-12-03 12:40:54 26 4
gpt4 key购买 nike

我的问题是,我希望根据markerSet 数组中的名称加载不同的模式,但现在 if/else 每次都会返回相同的模式。

请查看下面我的 JS 中的 if 语句。 name: "Tulsa" 标记应打开 #tulsa-modal,所有其他标记应打开 #band-modal。有什么想法吗?

var markerSet = [
{latLng: [36.13, -95.93], name: "Tulsa"},
{latLng: [38.62, -90.19], name: "St. Louis"},
{latLng: [44.98, -93.26], name: "Minneapolis"}
];

$(function(){
$('#usa').vectorMap({
map: 'us_aea_en',
// the rest cut for brevity..
},

markers: markerSet,
onMarkerClick: function(event, index){
if($.inArray("Tulsa", markerSet) == -1) {
$('#tulsa-modal').modal();
}
else {
$('#band-modal').modal();
}
}
});
});

最佳答案

您正在检查标记集数组中是否存在“tulsa” - 这将始终返回 true,因为该值始终存在于数组中,因此第一个模式将始终打开。

您需要为您单击的标记传递某种标识符(例如,您的 onMarker 单击可能会返回该标记的名称)并检查该值并显示适当的模式。

我不熟悉您正在使用的库,但它可能类似于以下内容

    var markerSet = [
{latLng: [36.13, -95.93], name: "Tulsa"},
{latLng: [38.62, -90.19], name: "St. Louis"},
{latLng: [44.98, -93.26], name: "Minneapolis"}
];



$(function(){
$('#usa').vectorMap({
map: 'us_aea_en',
// the rest cut for brevity..
},

markers: markerSet,
onMarkerClick: function(event, index){

//check the name property of the clicked marker object

if(markerSet[index].name == "Tulsa") {
$('#tulsa-modal').modal();
}
else {
$('#band-modal').modal();
}
}
});
});

关于javascript - 从 onMarkerClick 打开不同的模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com