Javascript && Форматирование Дней
Я новичок в программировании, пожалуйста, будьте спокойны со мной.
Я использую Informer (веб-сайт отчетности), который извлекает данные из Datatel (база данных unidata)
Я работаю над вычисляемым столбцом. Вычисляемый столбец ТОЛЬКО принимает Javascript НЕТ другого языка.
Что должен сделать столбец:
"Если занятия проводятся по понедельникам и вторникам и средам и четвергам и пятницам, тогда отображается пн-пт"
Так что, если занятия делятся на все дни недели, я хочу сократить вывод, чтобы отображать только "Пн-Пт" вместо перечисления всех дней.
Что на самом деле делает код: отображает пн-пт для каждого класса, даже если он не встречается в те дни.
Вот код, который у меня есть: который не работает
//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 ответ
В if
Вы не хотите ни назначать, ни завершать условие после первого сравнения и использовать синтаксическую ошибку. Иначе используйте синтаксис JavaScript при выполнении JavaScript.
if( mon && tue && wed && thur && fri ) formatDays = mon+'-'+fri.
Обратите внимание, что я считаю, что это может дать что-то вроде true-true
но не хватает информации, чтобы помочь вам дальше.