При присваивании значения наблюдаемому объекту knoсkout.js внутри обработчика изменения его значения, присваивается не само это значение, а строка, состоящая из этого значения и слова undefined. Вот код:
me.startTimeStr.subscribe(function (newValue) {
var processedNewValue = '';
var i;
for (i = 0; i < prevStartTimeStr.length; i++) {
if (newValue[i] === prevStartTimeStr[i]) {
processedNewValue += newValue[i];
} else {
break;
}
}
processedNewValue += newValue[i];
for (var j = i + 2; j < newValue.length; j++) {
processedNewValue += newValue[j];
}
if (!timeFieldMask.test(processedNewValue)) {
me.startTimeStr(prevStartTimeStr);
return;
}
me.startTimeStr(processedNewValue); // Проблема возникает на этой строке