通过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提琴,这可能会帮助你:对不起,你知道有没有一种方法可以组合多种类型的输入?