Javascript&&格式化天数

时间:2013-09-17 13:12:11

标签: javascript var calculated-columns days

我是编程新手,请跟我一起轻松。

我正在使用Informer(一个报告网站)从Datatel(unidata数据库)中提取数据

我正在研究一个计算列。计算列只接受Javascript NO其他语言。

专栏应该做什么:

“如果课程是星期一和星期二,周三和周四和周五 然后 显示周一至周五“

因此,如果课程在所有工作日都有,我想将输出缩写为仅显示“周一至周五”,而不是列出所有日期。

代码实际上在做什么: 即使在那些日子没有见面,也会为每个班级展示周一至周五。

这是我的代码:不起作用

//declare variables
var mon = secmonday[1];
var tue = sectuesday[1];
var wed = secwednesday[1];
var thur = secthursday[1];
var fri = secfriday[1];
var formatDays = "";


//if monday through friday = Y (Y is the value in the database) 
//then format with a - in between days

if ((mon && tue && wed && thur && fri) == "Y");
{
formatDays="Mon-Fri";
}
else
{
// if any of the days fields are empty then do not display formatDays
//instead leave    
blank
if ((mon || tue ||wed || thur || fri) == null);
}
formatDays=mon+tue+wed+thur+fri;

我做错了什么?感谢您的帮助。


无视我找到了解决方案:

//define variables
var days = courseSections6_csmdaysk;
var output = "";
var formatDays = "Mon-Fri";
//removes whitespace within data
var formatBlank = days.replace(/\s+/g, '');

//if all days are present then display Mon-Fri
if (days == "M T W TH F")
{
output = formatDays;
}
else
{
output = formatBlank;
}
output

1 个答案:

答案 0 :(得分:0)

if中,您既不想分配,也不希望在第一次比较后结束条件并转到语法错误。并且在执行javascript时使用javascript语法。

if( mon && tue && wed && thur && fri ) formatDays = mon+'-'+fri.

请注意,我相信它可能会产生类似true-true的内容,但缺乏可以帮助您的信息。