Javascript函数不会传递参数

时间:2014-04-24 09:12:08

标签: javascript jquery google-maps

我有以下代码:

function createMarker(latlng, name, address) {
  var html = "<b>" + name + "</b> <br/>" + address + "<br/> <a onclick='moreInfo(name)'>Learn More</a>";
  var marker = new google.maps.Marker({
    map: map,
    position: latlng
  });
  google.maps.event.addListener(marker, 'click', function() {
    infoWindow.setContent(html);
    infoWindow.open(map, marker);
  });
  markers.push(marker);
}

function moreInfo(name){

    $('#dcFinder').hide();
    $('#moreInfo').show();
    $('#name').html(name);

}

这是指我正在研究的谷歌地图商店定位器。我正在尝试链接到moreInfo函数,传递第一个函数中使用的名称。

单击链接时,会显示并隐藏相应的div,但名称未显示。

2 个答案:

答案 0 :(得分:3)

你需要在html中传递变量,所以试试这个:

 var html = "<b>" + name + "</b> <br/>" + address + "<br/> <a onclick=\"moreInfo('" + name + "')\">Learn More</a>";

答案 1 :(得分:2)

您需要正确连接字符串并转义函数变量的引号:

var html = '<b>' + name + '</b> <br/>' + address + '<br/> <a onclick="moreInfo(\'' + name + '\')">Learn More</a>';