我在 Sharepoint 中有一个任务列表,其中有一列标题为“健康”。此列包含文本值“绿色”、“红色”、“黄色”、“蓝色”和“灰色”的下拉列表。
我想创建一个 JS 链接文件来仅根据这些文本值呈现单元格背景颜色。
我使用脚本编辑器 web 部件成功地做到了这一点,但我宁愿使用 JS 链接来实现这一点(我的页面上少了一个 web 部件)。
下面是我插入到我的脚本编辑器 web 部件中的内容。我需要类似 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 文件都可以工作,所以要么是运算符(operator)错误,要么是错误代码。
最佳答案
以下代码供大家引用。
<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>
关于javascript - JS 链接 - 根据文本值更改单元格背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485230/