【发布时间】:2021-01-16 13:09:11
【问题描述】:
我想用数组中的数据填充下拉列表。下面的代码是我在使用 angularJS 时会做的事情。我想知道是否有办法在 javascript 中执行此操作,或者以某种方式允许 ng-options 在这里工作。
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var city = ["NewYork", "Chicago", "Florida"];
var contentString =
`<div class="dropdown">
<select>
<option ng-options="item for item in ${city}">{{item}}</option>
</select>
</div>`;
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Uluru (Ayers Rock)',
// zIndex: Math.round(myLatlng.lat() * -100000) << 5
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
【问题讨论】:
-
@RandyCasburn 这行得通,但是有没有办法按照我的方式实现它,而不必将 HTML 放在 HTML 部分并在那里有内容字符串变量。
-
是的,您有两个选择: 1. 使用字符串解析构建一个 HTML 字符串,然后将其作为您的内容传递 2. 将您拥有的字符串解析到一个 DOM 节点并使用我的代码提供。
-
这里是字符串连接解决方案:jsfiddle.net/1wrmde9y
-
是的,这行得通,你可以把这个作为答案,所以我可以接受它
标签: javascript html arrays angularjs angularjs-directive