通过 javascript 组合和评估用户输入的最佳方式是什么?

What is the best way to combine and evaluate user input through javascript?

(我对此很陌生,请多多包涵)

我正在制作几个需要用户输入的模块,我想以某种方式组合输入以产生输出。我正在考虑为每个选项分配一个值并将它们加在一起并创建一个 if/else 语句来确定输出...
例如,如果用户选择了三个值为 1、2、3 的选项,并且声明说任何大于 5 的组合值将得到 "Good" 的结果,则所选选项将得到 [=20 的响应=] 因为合并后,它们等于 6(即 >5)。

有没有人知道更好的方法,and/or 你能告诉我一些可能有我要找的东西的参考站点吗?

太感谢了!!任何帮助表示赞赏!

我想你正在找这个。 要查看结果,请检查您的控制台。

<input type="checkbox" class="chk" value=1>1</input><br>
<input type="checkbox" value=2 class="chk">2</input><br>
<input type="checkbox" value=3 class="chk">3</input><br>
<input type="checkbox" value=4 class="chk">4</input><br>

<button id="button1" onclick="checkSum()">Submit</button>

<script>
function checkSum(){
var chk = document.getElementsByClassName('chk');

sum = 0;
for(var i=0; chk[i]; ++i){
      if(chk[i].checked){
           sum = sum + parseInt(chk[i].value); 
      }
}

console.log(sum);
if(sum > 5){
console.log("Good");
}
}  
</script>

您在找这样的东西吗?

<form id="module1">
  <input name="option1" type="checkbox" value="Orange"> Orange
  <input name="option2" type="checkbox" value="Banana"> Banana
  <input name="option3" type="checkbox" value="Apple"> Apple
  <input name="option4" type="checkbox" value="Mango"> Mango
  <input name="option5" type="checkbox" value="Pineapple"> Pineapple
</form>
<button id="evaluate" type="button">Evaluate</button>
<h4 id="result"></h4>
<h5 id="values"></h5>

<script type="text/javascript">
    $(document).ready(function () {

        var scoreConstants = {
            'Mango': 100,
            'Banana': 100,
            'Pineapple': 200,
            'Orange': 50,
            'Apple': 250
        };

        var evalScore = function (selectedValues) {
            var totalScore = 0;
            $.each(selectedValues, function (k, v) {
                totalScore += scoreConstants[v];
            });
            return totalScore;
        }

        var getScoreLabel = function (score) {
            var scoreValue = 'Score: ';
            if (score < 200) {
                scoreValue += 'Average';
            } else if (score >= 200 && score < 500) {
                scoreValue += 'Good';
            } else if (score >= 500) {
                scoreValue += 'Excellent!';
            }
            return scoreValue;
        }


        $('body').on('click', '#evaluate', function (e) {
            var $selectedValues = $('#module1').find('input:checked');
            var selectedValues = [];
            $selectedValues.each(function (k, v) {
                var $selected = $(v);
                selectedValues.push($selected.val());
            });

            var score = evalScore(selectedValues);
            var scoreLabel = getScoreLabel(score);

            var valueString = 'Selected: ';
            if (selectedValues.length > 0) {
                $.each(selectedValues, function (k, v) {
                    if (k === (selectedValues.length - 1)) {
                        valueString += v;
                    } else {
                        valueString += v + ', '
                    }
                });
            } else {
                valueString += 'None';
            }

            var $result = $('#result');
            $result.html(scoreLabel);

            var $displayValues = $('#values');
            $displayValues.html(valueString);

        });
    });
</script>

查看此处的代码: https://jsfiddle.net/0x2L0dek/1