Boolean для каждого вопроса со списком массивов - PullRequest
0 голосов
/ 25 сентября 2018

одна переменная с кратным «выбранный» вопрос относится к «сотруднику».При открытии системы будут отображаться все вопросы, что бы я ни нажимал на кнопку, мне будет показан сотрудник, и я выберу один (например, Брайан для первого вопроса) и выберу «положительный».Когда я нажимаю на свой второй вопрос, Брайан уже выбран.ЗДЕСЬ моя проблема.Должен быть выбран только в одном вопросе и ставит флажок для всех вопросов.

что-то не так с логическим значением?

var resultHandler = function(){
    currentQuestion = this;
    $('#details-name').text(currentQuestion.question);
    $('#projectPopUp').show();
};


var cancel = function() {
    //do nothing for now
}


var commenthandler = function() {
    var value = $("#" + this.id + "-comment").val();
    this.comments = value;
    $("#" + this.id + "-comment").val(value);
};


var names = [];

// bt select ppl    
var nameList = function (){

    for (var i = 0; i < employees.length; i++) {
        var name = employees[i];

        var id = i;
        var data = {
            id: 'e' +id,
            name: name
        };

        names.push(data);

        $('#detailsgrid tbody').append(Utils.processTemplate("#popupPersonTemplate tbody", data));
        $("#" + data.id + "-status").text('Select');
        $("#" + data.id + "-status").click(statusHandler.bind(data));
    }

};


var statusHandler = function(){

    var previousResult = this.inspectionResult;
    var answerIndex = answers.indexOf(previousResult);
    /** -1 is if the answer is not found if not found defaults to first answer
     * else it gets the next answer
     */
    console.log('Answer Index: ' + answerIndex);
    if (answerIndex == -1) {
        console.log('Answer index is -1');
        answerIndex = 0;
        this.active = 'false';
        updateActiveStatus(this);

    } else {
        answerIndex = (answerIndex + 1) % answers.length;
    }

    var currentResult = answers[answerIndex];
    this.inspectionResult = currentResult;

    $("#" + this.id + "-status").text(currentResult);
    // commentvisibilitymanager(this);

};


var buildQuestionnaire = function(){
    parseInitialDataHolder();

    for (var i = 0; i < ARRAY_OF_QUESTIONS.length; i++){
        var id = ARRAY_OF_QUESTIONS[i].code;
        if (id && typeof id != 'undefined'){
            id = id.replace('.', '-');
        };
        var data = {
            id: id,
            question: ARRAY_OF_QUESTIONS[i].question,
            inspectionResult: "", //defaultResults
            employee_results: [],
            active: true
        };

        var initialdata = initialdataholder[id];
        if(initialdata) {
            data = initialdata;
        }
        dataholder.push(data);

        if (typeof ARRAY_OF_QUESTIONS[i].header == 'undefined') {
            $('#questionsTable tbody').append(Utils.processTemplate("#rowTemplate tbody", data));
            $("#" + id + "-inspectionResult").text(data.inspectionResult || 'Select');
            $("#" + id + "-inspectionResult").click(resultHandler.bind(data));
            updateActiveStatus(data);
            commentvisibilitymanager(data);
        }
        else {
            $('#questionsTable tbody').append(Utils.processTemplate("#sectionRowTemplate tbody", data));
        }
    }

}

//to close the popup
var closePopup = function() {
    $('#projectPopUp').hide();
};

$(document).ready(function() {
    buildQuestionnaire();
    nameList();
});
...