我有一个填充标签的数据库列。它是日期格式,因此它将条目保存为yy-mm-dd 00:00.0。我使用此代码将其更改为列出时所需的格式。
var yyyymmdd = value.split(" ")[0].split("-");
return yyyymmdd[1] + "-" + yyyymmdd[2] + "-" + yyyymmdd[0];
现在我需要改变颜色,这是我用来做的代码。
if(value.dead){
$(element).css({"color": "#E33"});
}else if(value.pairout){
$(element).css({"color": "#0c9999"});
}
return value.Date;
我的问题是:如何将这两个代码组合在一起,使它们一起重新排序日期并可能改变颜色。
答案 0 :(得分:4)
通过return
从函数返回单个值。此值可以是任何基元,对象或表达式的结果。因此,如果要返回多个值,可以使用对象或数组。
答案 1 :(得分:1)
如果这两个功能是单独的功能,例如getDate(value)
和getColor(value)
,请执行var combined = { date: getDate(value), color: getColor(value) };
并返回合并。颜色设置可能需要重构,以便不将颜色分配给$(element)
,而只是进行检测并返回颜色代码。
像这样:
function getDate(value) {
var yyyymmdd = value.split(" ")[0].split("-");
return yyyymmdd[1] + "-" + yyyymmdd[2] + "-" + yyyymmdd[0];
}
function getColor(value) {
if (value.dead) return '#E33';
if (value.pairout) return '#0c9999';
return null; //not handled
}
function getCombined(aDate, value) {
return { date: getDate(aDate), color: getColor(value) };
}
var aDate = '15-01-01 15-02-14';
var foo = { dead : true, pairout: false };
var value = getCombined(aDate, foo);
if (value.color) $('#foo').css({ color : value.color });
$('#date').text(value.date);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='foo'>FOO!</div>
<div id='date'></div>