2013-09-26 3 views
1
나는 그들이이 EV1, EV2, EV3 등 내가 팝업지도에서 열 수하고자하는 링크를 클릭하면

결합 자바 스크립트 변수

, 그들은 같은 트리거와 같은 명명 된지도에 마커의 설정

이,

ev1.openPopup(); 

하지만 각 마커의 팝업 코드를 작성할 수 없기 때문에 나는 링크가이 ID라는 데이터 내 링크를 얻을 것이다 클릭하면이

$(document).on('click', '.venname', function() { 
var myLinkId = $('.venname').attr('data-mylink'); 
    ev+myLinkId.openPopup(); 
}); 

같은 jQuery 코드를 가지고와 그것을 ev와 결합 할 것이다. 내가 핥아 하나를 클릭하면 xample, 그것은 1이라는 속성을 가지고 jquery 코드는 1을 얻고 variavle ev1을 만들고 팝업을 트리거합니다. 그러나 어떻게 든이 일을 할 수없고 에러 ev를 얻습니다. 정의되지 않았습니다.

그렇다면 변수 myLinkID와 어떻게 결합 할 수 있습니까? 그런 마커 객체를

var markers = {marker1: new Marker(...), marker2: new Marker(...), ... }; 

을 그리고 당신은 도달 할 수 있습니다 :

+0

네가 할 수 있다고 생각하지 않아. 변수 이름을 가변하려고합니다. –

+0

일련 번호가 지정된 변수는 결함있는 데이터 구조를 나타내는 강력한 지표입니다. 이 경우 분명히 배열이 필요합니다. – georg

답변

2

당신은 마커 객체를 저장하는 기본 개체 또는 배열을 사용할 수 있습니다

markers['marker'+markerId].openPopup(); 

배열 예 :

var markers = [new Marker(...), new Marker(...), ...]; 

markers[markerIndex].openPopup();