Matrixdropdown

Matrix with multiple choices for every column - Matrix Dropdown question

                        

    
        Survey.StylesManager.applyTheme("default");
    


var json = {questions: [
{ type: "matrixdropdown", name: "frameworksRate", title: "Please tells us your opinion about JavaScript MVVM frameworks",
    choices: ["Excelent", "Good", "Average", "Fair", "Poor"],
    columns: [{ name: "using", title: "Do you use it?", choices: ["Yes", "No"], cellType: "radiogroup" }, 
              { name: "experience", title: "How long do you use it?", choices: [{value: 5, text:"3-5 years"}, {value: 2, text:"1-2 years"}, {value: 1, text:"less then a year"}] }, 
              { name: "strength", title: "What is main strength?", choices: ["Easy", "Compact", "Fast", "Powerfull"], cellType: "checkbox" }, 
              { name: "knowledge", title: "Please describe your experience", cellType:"text" },
              { name: "rate", title: "Please rate the framework itself" }],
    rows: [{ value: "angularv1", text: "angularjs v1.x" }, 
           { value: "angularv2", text: "angularjs v2" },
           { value: "knockoutjs" }, 
           { value: "reactjs"}]}
]};

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


survey.onComplete.add(function(result) {
    document.querySelector('#surveyResult').innerHTML = "result: " + JSON.stringify(result.data);
});


$("#surveyElement").Survey({ 
    model: survey 
});


                    
<!DOCTYPE html>
<html>
<head>
    <title>Matrix with multiple choices for every column - Matrix Dropdown question, jQuery Survey Library Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://unpkg.com/jquery"></script>
<script src="https://surveyjs.azureedge.net/1.0.50/survey.jquery.js"></script>
<link href="https://surveyjs.azureedge.net/1.0.50/survey.css" type="text/css" rel="stylesheet" />
    <link rel="stylesheet" href="./index.css">

</head>
<body>
                <div id="surveyElement">
            </div>
    <div id="surveyResult"></div>

<script type="text/javascript" src="./index.js"></script>

</body>
</html>

Set question.columnLayout property to "vertical" ("horizontal" by default) to invert columns and rows.

Change column layout: default is 'horizontal'.

survey.getQuestionByName('frameworksRate').columnLayout = 'vertical'; survey.render();