使用Jquery对多选框计算最大值 前言一、场景二、解决方案1.代码2.思路3.效果 总结提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
例如:使用Jquery对多选框计算最大值
提示:以下是本篇文章正文内容,下面案例可供参考
示例:要求计算每道题目所获取的分数,多选题只获取该题最大值作为该题取得的分数。
二、解决方案 1.代码代码如下(示例):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./js/jquery-1.8.2.min.js"></script>
</head>
<body>
<div name="cb_a">
题目1:
<input type="checkbox" value="1" name="cb_a" /> 李1
<input type="checkbox" value="2" name="cb_a" /> 李2
<input type="checkbox" value="3" name="cb_a" /> 李3
</div>
<br>
<div name="cb_b">
题目2:
<input type="checkbox" value="4" name="cb_b" /> 王4
<input type="checkbox" value="5" name="cb_b" /> 王5
<input type="checkbox" value="6" name="cb_b" /> 王6
<br>
<input type="button" value="submit">
</div>
<script>
$(function () {
$("input[type = 'button']").click(function () {
var score = 0;
var findMax = function(name){
var sa = [];
$.each($('input[name = '+name+']:checked'),function(i,ele){
var c = $(ele).val();
console.log("c:"+c);
sa.push(c);
});
var max_a = Math.max.apply(null, sa);
return max_a;
};
//根据div的name属性分组后,获取name属性传入findMax
$("div").each(function(i,ele){
var a = $(ele).attr("name");
var maxfs = findMax(a);
score += max;
console.log("max:"+maxfs);
})
console.log(score);
});
});
</script>
</body>
</html>
2.思路
通过页面设置div的name属性与对应的多选题答案的name属性相同,根据name属性进行分组,获取div的name属性后,再通过定义findMax 方法,获取到最大值。
其中findMax方法使用Jquery从数组sa中获取最大值
代码如下(示例):
var max_a = Math.max.apply(null, sa);
3.效果
如图所示
总结
1:html中name属性的利用
2:Jquery中方法的自定义、数组的使用、遍历、取最大值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)