我在Sharepoint中有一个任务列表,其中的标题为“健康”。此列包含文本值“绿色”,“红色”,“黄色”,“蓝色”和“灰色”的下拉列表。
我想创建一个JS链接文件,以仅基于这些文本值来呈现单元格背景色。
我使用脚本编辑器Webpart成功地做到了这一点,但是我宁愿使用JS链接(在我的页面上少一个WebPart)来实现这一点。
下面是我插入脚本编辑器Webpart中的内容。我需要JS链接文件形式的类似内容。
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$Text = $("td.ms-cellstyle.ms-vb2:contains('Blue')");
$Text.css("background-color", "#0000FF");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Green')");
$Text.css("background-color", "Green");
$Text = $("td.ms-cellstyle.ms-vb2:contains('Canceled')")
$Text.css("background-color", "#e18620");
});
</script>
我尝试了来自多个线程的多个代码片段,但没有任何效果。我所有其他的JS文件都可以正常工作,因此它是操作员错误或错误的代码。
答案 0 :(得分:1)
以下代码供您参考。
<script type="text/javascript">
(function () {
// Create object that have the context information about the field that we want to change it's output render
var fieldContext = {};
fieldContext.Templates = {};
fieldContext.Templates.Fields = {
// Apply the new rendering for Available field on List View
"Health": { "View": fieldTemplate }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(fieldContext);
})();
// This function provides the rendering logic for list view
function fieldTemplate(ctx) {
var health = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
return "<span style='background-color: "+health+";'>" + health + "</span>";
}
</script>