Я пытаюсь выяснить, что бы пользователь не изменил значения массива, workflow_value должен сохранить его в новом массиве и рассчитать мой итог.
предположить, что HTML верен.Должно быть в одном файле вся функция и строка js + jquery.
ex начинается: значение 1 = 1, значение = 2 и после того, как я хочу перейти с прослушивателем событий и нажать новое значение, значение 1 = 5итоговое значение должно быть 7 (5 + 2).
любая помощь?
var workflow_value = [
'Enter Value 1',
'Enter Value 2',
'Enter Value 3'
];
var questionsAndValues = [];
var getFieldValues = function() {
var values = [];
for (var i = 0; i < workflow_value.length; i++) {
var fieldName = workflow_value[i];
var fieldValue = college.getJobWorkflowValueByName(fieldName);
if (fieldValue && fieldValue != '') {
var item = {
id: questionsAndValues.length,
text: fieldName,
value: fieldValue
};
questionsAndValues.push(item);
}
}
console.log("Before update: ", workflow_value[i])
console.log(questionsAndValues);
};
function calcValue (){
var sumOfValues = 0;
for (var i = 0; i < questionsAndValues.length; i++) {
var current_value = parseFloat(questionsAndValues[i].value);
console.log(current_value);
if (!isNaN(current_value)) {
sumOfValues += current_value;
console.log(sumOfValues);
}
else {
console.log('invalid values');
}
}
// questionsAndValues['Total Value' + sumOfValues] = sumOfValues;
var rowToAppend = '<div style="min-height:40px;border-bottom: solid 1px gray"><div style="min-width:38%; max-width:38%; display:inline-block; height:40px; border-right: solid 1px gray"><div style="padding:5%">' + 'Total Value' + '</div></div>' +
'<div style="min-width:60%; max-width:60%; display:inline-block; margin-left:5px"><div>' + sumOfValues + '</div></div></div>'
$('#sumValues').replaceWith(rowToAppend);
var options = {
"title": "Total of values is " + current_value,
"text": "The total value is " + sumOfValues,
"ok_label":"Yes",
"cancel_label":"Do Nothing"
}
};
var okShowText = function(){
};
var cancelShowText = function(){
};
var onValueChanged = function() {
console.log(arguments);
$('#userInput-' + item.id).on('keyup', onValueChanged.bind(item));
};
$(document).ready( function() {
getFieldValues();
for (var i = 0; i < questionsAndValues.length; i++) {
var item = questionsAndValues[i];
var rowToAppend = '<tr>' +
'<td >' + item.text + '</td>' +
'<td><input type="number" id="userInput-' + item.id + '" size="2" value="' + item.value + '"></input></td>' +
'</tr>';
$('#userInput-' + item.id).on('keyup', onValueChanged.bind(item));
$('#detailsView tbody').append(rowToAppend);
}
console.log(JSON.stringify(questionsAndValues));
});