(我很新,请耐心等待)
我正在制作几个需要用户输入的模块,我想以某种方式组合输入来生成输出。我正在考虑为每个选项分配一个值并将它们加在一起,并创建一个if/else语句来确定输出...
例如,如果用户选择三个值为1,2,3的选项,任何大于5的组合值将得到“良好”的结果,则所选择的选项将得到“良好”的响应,因为当它们组合时,它们等于6(其大于5)。
有谁知道更好的方法,和/或你可以指导我参考一些可能有我在找的网站吗?
非常感谢!任何帮助表示赞赏!通过javascript结合和评估用户输入的最佳方式是什么?
回答
你在找这样的吗?
<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
这似乎成为我正在寻找的东西。有没有办法为每个输入分配不同的值?这(https://jsfiddle.net/ch889v18/20/)是我目前的jsfiddle。谢谢你的回复! – user3689565
我已经更新了我可能可以帮助你的js小提琴:https://jsfiddle.net/0x2L0dek/1/ –
是的!这就是我所需要的,非常感谢你! :) – user3689565
我认为你正在寻找这个。 要查看结果,请检查您的控制台。
<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. jQuery mobile - 保存用户输入的最佳方式是什么?
- 3. 消毒用户输入的最佳方式是什么?
- 4. 处理混合HTML和用户输入的最佳方式?
- 5. 将用户输入放入生成的javascript的最佳方法是什么?
- 6. 在C#中评估sql语句的最佳方法是什么?
- 7. 通过WCF发送通用库的最佳方式是什么?
- 8. 评估调查的最佳方式
- 9. 什么是通知新FOSCommentBundle的最佳方式:评论?
- 10. 评估用户输入的Rails方法
- 11. 让用户输入格式正确的URL的最佳方式是什么?
- 12. 验证用户输入JDBC的最佳方法是什么?
- 13. 键入()的最佳方式是什么?
- 14. 什么是通过用户名和密码通过WCF验证用户的最佳方式
- 15. 评论的最佳方法是什么?
- 16. 用户输入公式分析(评估)
- 17. 通过PHP使用Twitter API的最佳方式是什么?
- 18. 通过httpconnection使用片段的最佳方式是什么?
- 19. 通过网络调用函数的最佳方式是什么?
- 20. 通过Facebook应用获利的最佳方式是什么?
- 21. 通过HTTPS或SSH使用Git的最佳方式是什么?
- 22. 从NHibernate获取聚合结果的最佳方式是什么?
- 23. 什么是保存用户名和高分的最佳方式
- 24. 通过AJAX将用户输入的文本发送到Google App Engine的最佳方式是什么?
- 25. 让用户在表单中输入年龄的最佳方式是什么?
- 26. 什么是通过JavaScript修改网址的最佳方法?
- 27. 什么是聚合物0.9“过滤器”的最佳方式?
- 28. 什么是依赖注入用户输入的最佳策略?
- 29. 什么是使用CodeIgniter导入js和css的最佳方式?
- 30. 通过HTTP模拟过程调用的最佳/最RESTful方式是什么?
什么都做直到现在,显示你的代码? – bigbounty
发布您所做的事情,以便我们实际评估它。 –
@bigbounty这是我的代码到目前为止(https://jsfiddle.net/ch889v18/20/) – user3689565