javascript - JS 链接 - 根据文本值更改单元格背景颜色

标签 javascript sharepoint

我在 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>

enter image description here

引用:Colored output in list view with JSLink

关于javascript - JS 链接 - 根据文本值更改单元格背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485230/

相关文章:

javascript - 如何等待功能结束直到转到下一个代码?

azure - 在 Azure 中获得批准后触发管道

sharepoint - 爬虫不创建自定义爬网属性

javascript - Sharepoint 2013 托管应用程序在所有加载的页面上执行 javascript

javascript - TypeError: jQuery ("#slider-full").revolution 不是函数

javascript - Django 使用 VueJS 的上下文进行渲染

javascript - 与客户端打印机通讯并打印A4纸

c# - 使用 SharePoint Lists.asmx GetListItems 按名称搜索文档

sharepoint - 将 SharePoint 事件接​​收器程序集部署到 Web 应用程序 BIN

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?