我使用List.js生成列表(显然),但是我在列表项中创建链接时遇到了问题。
到目前为止,这是我的代码 -
<script>
var options = {
valueNames: [ 'title', 'description', 'lat', 'lng', 'user_sub', 'location', 'imageurl'],
item: '<li><h3 class="title"></h3><p class="description"></p><p class="location"></p><p class="user_sub"></p></li>'
};
var values = JSON.parse('{{ jsonout|safe }}');
var userList = new List('users', options, values);
</script>
这会创建一个不错的列表,但是我想将lat
和lng
ValueNames一起加入以创建一个列表,通常我会做这样的事情(来自谷歌地图的例子我和#39 ;已使用)
'<a href=http://www.google.com/maps/place/' + data.lat+ ',' + data.lng + '/@' + data.lat + ',' + data.lng +',6z target=_blank>Get Directions</a>'
但是,由于所有项都是在HTML类部分中创建的,因此不起作用。有关如何使其工作的任何建议,或者可能不是这个插件的选项?
答案 0 :(得分:1)
尝试在将值绑定到List.js
之前将JSON数据解析为您想要的格式
var values = JSON.parse('{{ jsonout|safe }}');
for(var i=0; i<values.length; i++) {
var data= values[i];
item.link = '<a href=http://www.google.com/maps/place/' + data.lat+ ',' + data.lng + '/@' + data.lat + ',' + data.lng +',6z target=_blank>Get Directions</a>'
}
您现在拥有一个新属性link
,可以像任何其他属性一样使用。