Javascript和SharePoint 2013:将背景色设置为列表项

时间:2019-04-10 20:36:41

标签: javascript sharepoint jslink

我有一个在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功能?

1 个答案:

答案 0 :(得分:0)

结果很简单,我有点昧。

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

最初,我尝试同时返回两个结果和一个返回值。但是,它们都链接到一个领域。因此,我需要调用两个单独的函数。

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

({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

}