让我说我在jquery中有这个功能。我试图访问指定元素的id,然后随意使用。
var values = somejson.json;
$('.get-id').on('click', function () {
var el = $(this);
console.log(el.data('id'));
console.log("====");
var id = el.data('id'); //get this id
});
//i would like to use the id here I retrieve here.
var result = values.find(x => x.id === id);
console.log(result);
我认为这可能很简单,但我无法理解它。一些帮助将受到高度赞赏。提前谢谢。
答案 0 :(得分:0)
有几种方法可以做到这一点。一个是@John所说的。但是,根据您在何处以及如何声明id
变量,您可能会在全局命名空间中进行监管。
执行此操作的另一个好方法是在函数中包装需要id
值的代码。像这样:
var values = somejson.json;
$('.get-id').on('click', function () {
var el = $(this);
console.log(el.data('id'));
console.log("====");
useTheId(el.data('id'));
});
function useTheId(id) {
var result = values.find(x => x.id === id);
console.log(result);
}
答案 1 :(得分:-1)
重写的答案是为了考虑添加到问题中的额外代码。
您需要做的是以下内容:
1.设置地图以及其他所需的一切一次
2.每次点击都移动标记
所以你的代码应该像这样订购:
// setup of map, marker (with default coordinates), etc.
var marker = ...
var map = ...
$('.get-id').on('click', function () {
// do everything you need to do to get the lat lng
var el = ...
var id = ...
var lat = ...
var lng = ...
// move the existing marker to the new position
// you will need to figure out how to do it with your library
// all variables for marker, map, etc. will be accessible here
// or delete the old marker and create a new one, or whatever else works for you
marker.move();
});