首页 > 解决方案 > Javascript 和 SharePoint 2013:为列表项设置背景颜色

问题描述

我在我的 SharePoint 中使用了一个脚本,根据计算值将字段设置为绿色或白色。它没有问题(我只包含了一段代码,如果需要,我可以包含整个函数)。

我在代码中计算 statusValue,然后,如果它 < 或 > 大于阈值,则字段的背景会相应更改。

(function () {

    var statusFieldCtx = {};
    statusFieldCtx.Templates = {};
    statusFieldCtx.Templates.Fields = {
        "biui": {"View": StatusFieldViewTemplate}
    };


SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);

function StatusFieldViewTemplate(ctx) {

    EQ = VALUE // Removed code for simplification
    statusValue = MATH // Removed code for simplification

    if (statusValue < EQ) {

        return "<div style='background-color:green;color:white'>" + statusValue.toFixed(5) + "</div>";

        }

    else {

        return "<div style='background-color:white;color:black'>" + statusValue.toFixed(5) + "</div>";

        }

    }
})();

我想在此之后执行更多计算;然而,这return基本上结束了脚本。

是否有另一种方法来设置类似于上述代码的背景,而不使用该return功能?

标签: javascriptsharepointjslink

解决方案


原来答案很简单,我有点无知。

我刚刚创建了一个主函数,它调用了另外两个函数。

最初我尝试一次返回两个结果;但是,它们都与一个领域相关联;因此,我需要调用两个单独的函数。

我需要函数以允许多个返回到不同的字段,即:

( statusFieldCtx.Templates.Fields = {"biui": {"View": StatusFieldViewTemplate}};.

(statusFieldCtx.Templates.Fields = {"bzwi": {"View": StatusFieldViewTemplate}};

(function () {

    funcOne();
    funcTwo();

})();

function funcOnc(){

. . . Code linked to first field

}

function funcTwo(){

. . . Code linked to second field

}

推荐阅读