剑道UI-在工具提示中显示图像
Kendo UI - Displaying images in a tooltip
我在工具提示中显示图像时遇到问题。每个Territory都包含一个Photo字段。如果"照片"字段为空,我将尝试显示占位符图像。
以下是我想要实现的一个想法,尝试了一下,但出现了错误。我确信这个模板在语法上是不正确的:
<script type="text/x-kendo-template" id="storeTerritory">
<div class="tooltipcontent">
#for(var i = 0; i < Territories.length; i++){#
#if (#=Photo# != 'null' && #=Photo# != '') {#
<img src="#=Territories[i].Photo#" alt="" />
#} else{#
<img src="https://cdn4.iconfinder.com/data/icons/website-kit-2/600/547756-Cross-128.png" alt="" />
#}#
#}#
</div>
</script>
这是一个带有工作工具提示的演示(没有上面的片段):
http://jsbin.com/iJunOsa/25/edit
问题是将Photo
封装在#=
和#
之间的if
,但由于if
已经被#
包围,因此不必这样做。
接下来,Photo
是Territories
元素的一部分,所以(我认为)您应该检查Territories[i].Photo
中的null
,而不仅仅是Photo
。
模板应为:
<script type="text/x-kendo-template" id="storeTerritory">
<div class="tooltipcontent">
#for(var i = 0; i < Territories.length; i++){#
#if (Territories[i].Photo != 'null' && Territories[i].Photo != '') {#
<img src="#=Territories[i].Photo#" alt="" />
#} else{#
<img src="https://cdn4.iconfinder.com/data/icons/website-kit-2/600/547756-Cross-128.png" alt="" />
#}#
#}#
</div>
</script>
请在此处查看:http://jsbin.com/iJunOsa/32/
EDIT在注释之后,它显示Territories
字段中有多个元素,并且由于每个元素都应该使用不同的Photo
,因此还有一个额外的问题,即识别要显示的照片。
最简单的方法是在生成Description
文本的模板中添加一些关于照片的信息,当显示Tooltip
时,可以准确地知道要显示哪个Photo
。
我的意思是将用于生成Description
的模板更改为:
<script type="text/x-kendo-template" id="territoriesTemplate">
#for(var i = 0; i < Territories.length; i++){#
<a class="hasTooltip" data-photo="#= Territories[i].Photo #">#:Territories[i].TerritoryDescription#</a> <button class="info-btn">Info</button>
#}#
</script>
其中,我添加了一个data-photo
元素,该元素的值是照片的路径,然后显示在工具提示中(即,将data-photo="#= Territories[i].Photo #"
添加到锚a
)。
然后,生成工具提示的代码将非常简单:
content: function (e) {
// Get the template
var template = kendo.template($("#storeTerritory").html());
// Retrieve the photo from data and send it as argument to the template
return template({ photo : $(e.target).data("photo")});
}
最后,模板的新定义也很简单:
<script type="text/x-kendo-template" id="storeTerritory">
<div class="tooltipcontent">
#if (photo) {#
<img src="#=photo#" alt="" />
#} else{#
<img src="https://cdn4.iconfinder.com/data/icons/website-kit-2/600/547756-Cross-128.png" alt="" />
#}#
</div>
</script>
这只是检查是否定义了photo
,如果定义了,则使用它,否则使用默认值。
请在此处查看其实际操作:http://jsbin.com/iJunOsa/40/
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 高亮显示时编辑文本大小和颜色
- 有时数据是't显示在浏览器中
- 当鼠标悬停在文本中的单词上时显示警报
- 角度图表;t显示在我的页面中
- 显示图工具提示显示x轴的最后日期值,而不是当前值