Javascript 单击按钮更改变量的值

Javascript 单击按钮更改变量的值,javascript,jquery,leaflet,Javascript,Jquery,Leaflet,我必须根据按钮点击在地图上选择一个标记。我有多个标记,每个标记都与下面的按钮关联。我想更改该按钮上的“myloc”,默认情况下,它必须选择13100 Html $(文档).ready(函数(){ $(文档).ready(函数(){ 我看不到您在任何地方设置myLoc对象。您只是为lat,lng赋值。请检查下面的代码片段,看看它是否回答了您的问题 在这里,您初始化myLoc,然后单击按钮获取lat,lng的新值,并在myLoc //只是一个临时函数来显示示例。不要在代码中添加此函数 变量L={

我必须根据按钮点击在地图上选择一个标记。我有多个标记,每个标记都与下面的按钮关联。我想更改该按钮上的“myloc”,默认情况下,它必须选择13100

Html $(文档).ready(函数(){

$(文档).ready(函数(){


我看不到您在任何地方设置myLoc对象。您只是为lat,lng赋值。请检查下面的代码片段,看看它是否回答了您的问题

在这里,您初始化
myLoc
,然后单击按钮获取
lat,lng
的新值,并在
myLoc

//只是一个临时函数来显示示例。不要在代码中添加此函数
变量L={
LatLng:功能(lat,lng){
控制台日志(“Lat、Lng的当前值:“+Lat+”、“+Lng”);
}
}
设myloc=新L.LatLng(13100);
//var map=L.map('map').setView(myloc,12);
$(函数(){
$('.btn-a')。在('click',函数(e)上{
//e.预防违约();
var clsName=$(this.val();
var-lat,long;
如果(clsName=='First'){
lat=13;
长=100;
}else if(clasName='Second'){
lat=14;
长=101;
}
//在这里设置myloc
myloc=新的L.LatLng(lat,long);
//然后再画一张地图
//L.map('map').setView(myloc,12)
})
});

我看不到您在任何地方设置myLoc对象。您只是为lat,lng赋值。请检查下面的代码片段,看看它是否回答了您的问题

在这里,您初始化
myLoc
,然后单击按钮获取
lat,lng
的新值,并在
myLoc

//只是一个临时函数来显示示例。不要在代码中添加此函数
变量L={
LatLng:功能(lat,lng){
控制台日志(“Lat、Lng的当前值:“+Lat+”、“+Lng”);
}
}
设myloc=新L.LatLng(13100);
//var map=L.map('map').setView(myloc,12);
$(函数(){
$('.btn-a')。在('click',函数(e)上{
//e.预防违约();
var clsName=$(this.val();
var-lat,long;
如果(clsName=='First'){
lat=13;
长=100;
}else if(clasName='Second'){
lat=14;
长=101;
}
//在这里设置myloc
myloc=新的L.LatLng(lat,long);
//然后再画一张地图
//L.map('map').setView(myloc,12)
})
});

下面是一种您可以使用的方法,与我们正在做的类似。该示例使用事件委派来监视按钮单击,然后相应地设置
lat
long
变量。然后使用这些变量更新全局
myLoc
的值。我使用了一个对象文本来代替
new L.LatLng
为简单起见,选择对象

让myLoc={
拉丁美洲:13,
朗:100
};
//新L.LatLng(13100);
document.querySelector('.row')。addEventListener('click',函数(e){
如果(e.target.type==='button'){
设lat=0;
设long=0;
如果(e.target.id=='btn first'){
lat=13;
长=100;
}否则如果(e.target.id=='btn秒'){
lat=14;
长=101;
}
myLoc={
拉特,
长的
};
log(`myLoc.lat:${myLoc.lat};myLoc.long${myLoc.long}`);
//新L.LatLng(lat,long);
}
});

下面是一种您可以使用的方法,与我们正在做的类似。该示例使用事件委派来监视按钮单击,然后相应地设置
lat
long
变量。然后使用这些变量更新全局
myLoc
的值。我使用了一个对象文本来代替
new L.LatLng
为简单起见,选择对象

让myLoc={
拉丁美洲:13,
朗:100
};
//新L.LatLng(13100);
document.querySelector('.row')。addEventListener('click',函数(e){
如果(e.target.type==='button'){
设lat=0;
设long=0;
如果(e.target.id=='btn first'){
lat=13;
长=100;
}否则如果(e.target.id=='btn秒'){
lat=14;
长=101;
}
myLoc={
拉特,
长的
};
log(`myLoc.lat:${myLoc.lat};myLoc.long${myLoc.long}`);
//新L.LatLng(lat,long);
}
});


根据定义的常量不能更改其值。请改用
let
。@Utkanos是的,我在这里输入了代码。我在这里写了const。ThankxConstants根据定义不能更改其值。改用
let
。@Utkanos是的,我在这里输入了const。ThankxI只需在这里添加问题。分配t之后下面是与使用此lat和long的map和其他函数相关的代码。您想将lat long分配给myloc,对吗?或者您的问题是什么else@TheUkown是的,我想把lat-long分配给myloc。好的,这就是我发布的代码所做的。查看最后一行,单击后设置lat-long,然后设置a在if-else循环之后将其签名到myLoc。运行代码段查看。它调用与代码中完全相同的函数L.LatLng。我只在这里添加问题。分配后,有一些代码与使用此lat和long的map和其他函数相关。您想将lat-long分配到myLoc,对吗?或者您的问题是什么else@TheUkownY我想把lat-long分配给myloc。好的,我发布的代码就是这么做的。查看单击后设置lat-long的最后一行,然后在if-else循环后将其分配给myloc。运行代码段查看。它调用与代码中完全相同的函数L.LatLng
<div class="row">
    <input type="button" id="btn-first" class="btn-a" value = "First">
    <input type="button" id="btn-second" class="btn-a" value = "Second">
</div>
let myloc = new L.LatLng(13, 100);
var map = L.map('map').setView(myloc, 12);

$(function () {
    $('.btn-a').on('click', function(e){
        e.preventDefault();
        var clsName = $(this).val();
        var lat, long;

        if (clsName == 'First') {
            lat = 13;
            long = 100;
        } else if(clasName = 'Second') {
            lat = 14;
            long = 101;
        }
    })
});
            $('.btn-a').each(function () {
                $(this).click(function () {
                    var $this = $(this).val();
                    if ($this == 'First') {
                        $(this).val('One');
                    } else if ($this == 'Second') {
                        $(this).val('Two');
                    }
                })
            });
        });