Сохранить входное значение и рассчитать со старыми значениями JQUERY - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь выяснить, что бы пользователь не изменил значения массива, 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)); 


});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...