我想使用javascript将每个标记的infowindow内容添加到列表中。 我是通过下拉菜单完成的。当我从下拉列表中单击每个元素时,它将存储在列表分区中。但是,我想通过onclick事件在map infowindow内容中做同样的事情。
我想做同样的事情:http://odyniec.net/projects/selectlist/ 但是,我没有下拉菜单,而是在地图上有不同的信息页。
我应该在内容中添加什么来调用函数?
map infowindow:
var message = ["Ronak","Patel","Mark","Secret","Mission"];
var infowindow = new google.maps.InfoWindow({
content: '<a onclick="$(\'select#name\').next()\
.find(\'option[value="\'+$(this).text()+\'"]\')\
.trigger(\'click\');return false;" >'+message[num]+'</a>'
});
的javascript:
<script type="text/javascript">
$(document).ready(function () {
$('select#name').selectList({ sort: true });
});
HTML:
<div>
<select id="name">
<option value="?">?</option>
</select>
</div>
感谢。
答案 0 :(得分:3)
您必须在所需选项上触发点击事件。
触发点击选项的示例,其值为“Ronak”:
content: '<a onclick="$(\'select#name\').next()\
.find(\'option[value="\'+$(this).text()+\'"]\')\
.trigger(\'click\');return false;" >Ronak</a>'
与评论相关:
如何填充选择动态,例如通过给定的数组:
var message = ["Ronak","Patel","Mark","Secret","Mission"];
$(document).ready(function () {
//append an option for each array-item
$.each(message,function(){$('<option/>').val(this).text(this)
.appendTo('select#name');})
//initialize the selectList
$('select#name').selectList({ sort: true });
});