Expression

Calculate expression based on other answers - Expression question

                        



var json = {
   "showQuestionNumbers": "off",
   "elements": [
      {
         "type": "paneldynamic",
         "name": "items",
         "title": "Items",
         "keyName": "name",
         "showQuestionNumbers": "none",
         "templateTitle": "item #{panelIndex}",
        "templateElements": [
          {
            "type": "text",
            "name": "name",
            "title": "Name:",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "cost",
            "inputType": "number",
            "title": "Item Cost:",
            "isRequired": true,
            "startWithNewLine": false
          },
          {
            "type": "text",
            "name": "vendor",
            "title": "Vendor:",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "quantity",
            "inputType": "number",
            "title": "Quantity:",
            "isRequired": true,
            "startWithNewLine": false
          },
          {
            "type": "text",
            "name": "link",
            "title": "Link:",
            "isRequired": true
          },
          {
            "type": "expression",
            "name": "total",
            "title": "Total Item Cost:",
            "expression": "{panel.cost} * {panel.quantity}",
            "displayStyle": "currency",
            "currency": "EUR",
            "startWithNewLine": false
          }
        ],
         "minPanelCount": 1,
         "panelAddText": "Add another  item",
         "panelRemoveText": "Remove item"
      },
      {
         "type": "panel",
         "title": "Totals",
         "elements": [
            {
               "type": "expression",
               "name": "totalQuantity",
               "title": "Total  Quantity:",
               "expression": "sumInArray({items}, 'quantity'"
            },
            {
               "type": "expression",
               "name": "totalCost",
               "title": "Total Cost:",
               "expression": "sumInArray({items}, 'total'",
               "displayStyle": "currency",
               "currency": "EUR",
               "startWithNewLine": false
            }
         ]
      }
   ]
};

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>Calculate expression based on other answers - Expression 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.59/survey.jquery.js"></script>
<link href="https://surveyjs.azureedge.net/1.0.59/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>