изменить текст строк в матрице типов surveyjs - PullRequest
0 голосов
/ 18 марта 2019

Я строю лучший проект опроса сотрудников, используя surveyjs . При работе в матричном типе у меня возникают проблемы с заменой текста "employee1, employee2, employee3" на настоящее имя сотрудника см. Рисунок . пока вот мой код:

var json = {
    title: "Software developer survey.",
    pages: [
   {
       title: "Part 1",

       questions: [
           {
               type: "matrix",
               name: "Question1",
               //isAllRowRequired: true,
               title: "Please indicate if you agree or disagree with the following statements",
               columns: [
                   {
                       value: 1,
                       text: "Strongly Disagree"
                   }, {
                       value: 2,
                       text: "Disagree"
                   }, {
                       value: 3,
                       text: "Neutral"
                   }, {
                       value: 4,
                       text: "Agree"
                   }, {
                       value: 5,
                       text: "Strongly Agree"
                   }
               ],
               rows: [
                   {
                       value: "valueEmployee1",
                       text: "Employee1 ![Employee1](https://bezone.files.wordpress.com/2008/02/soeharto.jpg =50x50)"
                   }, {
                       value: "valueEmployee2",
                       text: "Employee2"
                   }, {
                       value: "valueEmployee3",
                       text: "Employee3"
                   }
               ]
           },
           //
       ]
   },

спасибо за вашу помощь

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете динамически добавлять строки матрицы:

var json = {
    questions: [
        {
            type: "matrix",
            name: "score",
            title: "Please score the employees in the list",
            columns: [
                {
                    value: 1,
                    text: "Bad"
                }, {
                    value: 2,
                    text: "So-so"
                }, {
                    value: 3,
                    text: "Good enough"
                }, {
                    value: 4,
                    text: "Good"
                }, {
                    value: 5,
                    text: "Excellent"
                }
            ],
            rows: [
            ]
        }
    ]
};

window.survey = new Survey.Model(json);

var q = survey.getQuestionByName("score");

var employees = [{ id: "id1", name: "John"}, { id: "id2", name: "Ben"}, { id: "id3", name: "Chack"}]

employees.forEach(function(employee) {
  q.rows.push(new Survey.ItemValue(employee.id, employee.name));
});

Вот рабочий образец - https://plnkr.co/edit/OMBt1n02Qc8f5znUmOHE?p=preview

...