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

通过javascript组合和评估用户输入的最佳方法是什么?,javascript,if-statement,output,user-input,user-defined-functions,Javascript,If Statement,Output,User Input,User Defined Functions,(我对这个很陌生,请容忍我) 我正在制作几个需要用户输入的模块,我想以某种方式组合输入以产生输出。我在考虑给每个选项分配一个值,并将它们相加,然后创建一个if/else语句来确定输出。。。 例如,如果用户选择值为1、2、3的三个选项,并且语句表示任何大于5的组合值都将得到“良好”的结果,则所选选项将得到“良好”的响应,因为当组合时,它们等于6(即>5)。 有人知道更好的方法吗?或者你能告诉我一些可能有我想要的参考网站吗? 非常感谢你!!感谢您的帮助 我想你在找这个。 要查看结果,请检查控

(我对这个很陌生,请容忍我)

我正在制作几个需要用户输入的模块,我想以某种方式组合输入以产生输出。我在考虑给每个选项分配一个值,并将它们相加,然后创建一个if/else语句来确定输出。。。
例如,如果用户选择值为1、2、3的三个选项,并且语句表示任何大于5的组合值都将得到“良好”的结果,则所选选项将得到“良好”的响应,因为当组合时,它们等于6(即>5)。

有人知道更好的方法吗?或者你能告诉我一些可能有我想要的参考网站吗?


非常感谢你!!感谢您的帮助

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

<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>
1
2
3
4
提交 函数校验和(){ var chk=document.getElementsByClassName('chk'); 总和=0; 对于(变量i=0;chk[i];++i){ 如果(chk[i]。已选中){ sum=sum+parseInt(chk[i].值); } } 控制台日志(总和); 如果(总和>5){ 控制台日志(“良好”); } }
你在找这样的东西吗

<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>

橙色
香蕉
苹果
芒果
菠萝
评估
$(文档).ready(函数(){
变量常数={
“芒果”:100,
“香蕉”:100,
“菠萝”:200,
“橙色”:50,
苹果:250
};
var evalScore=函数(selectedValues){
var totalScore=0;
$。每个(选定的值、函数(k、v){
totalScore+=分数常数[v];
});
返回总分;
}
var getScoreLabel=函数(分数){
var scoreValue='分数:';
如果(分数<200){
分数值+=‘平均’;
}否则如果(分数>=200和分数<500){
分数值+=‘良好’;
}否则如果(分数>=500){
scoreValue+=‘优秀!’;
}
返回值;
}
$('body')。关于('click','evaluate',函数(e){
var$selectedValues=$('#module1')。查找('input:checked');
var selectedValues=[];
$selectedValues.每个(函数(k,v){
变量$selected=$(v);
selectedValues.push($selected.val());
});
var得分=评估核心(选定值);
var scoreLabel=getScoreLabel(分数);
var valueString='选定:';
如果(selectedValues.length>0){
$。每个(选定的值、函数(k、v){
if(k==(selectedValues.length-1)){
valueString+=v;
}否则{
valueString+=v+','
}
});
}否则{
valueString+=“无”;
}
var$result=$(“#result”);
$result.html(scoreLabel);
var$displayValues=$(“#values”);
$displayValues.html(valueString);
});
});
请参见此处的工作代码:

到目前为止,您都做了些什么?展示您的代码?发布您所做的,以便我们能够实际评估。@bigbounty这是我迄今为止的代码()@A.Lau这是我迄今为止的代码()这似乎是我正在寻找的。是否有方法为每个输入指定不同的值?这个()是我当前的JSFIDLE。谢谢你的回复!!我已经更新了我的js提琴,这可能会帮助你:对不起,你知道有没有一种方法可以组合多种类型的输入?