checkbox组件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function Sum(){
var ocheck=document.getElementsByName("no1");
var sum=0;/* 这里一定要给个初值,相当于要定义它为int型; */
for(var i=0;i<ocheck.length;i++){
if(ocheck[i].checked){
sum+=parseInt(ocheck[i].value);
}
}
var atext=document.getElementById("aa");
atext.innerHTML=(""+sum).fontcolor("red"); /*这个地方最好是用个空串连接一下 把它变成字符串输出*/
/* atext.innerText=(""+sum).fontcolor("red"); *//* innerText的区别与innerHTML的区别在与innerHTML可以直接设置颜色字体大小 */
}
function allsel(objAll){
var ocheck=document.getElementsByName("no1");
for(var i=0;i<ocheck.length;i++){
ocheck[i].checked=objAll.checked ;/*这里用全选的状态来设置其他的状态的变化 */
}
}
onload=function(){
var oitem=document.getElementsByName("no1");
for(var i=0;i<oitem.length;i++){
oitem[i].onclick=function(){
updatacheck();/*这里是内嵌函数,并且反复调用了Sum()函数时时进行更新 */
Sum();
}
}
}
function updatacheck(){
var n=0;
var oitems=document.getElementsByName("no1");
for(var i=0;i<oitems.length;i++){
if(oitems[i].checked){
n++;
}
}
if(n==0){
document.getElementById("checkAll").checked=false;
}
else if(n==oitems.length){
document.getElementById("checkAll").indeterminate=false;/* 这个地方要注意一下要先设置一下indeterminate这个属性才能够设置cheked属性*/
document.getElementById("checkAll").checked=true;
}
else{
document.getElementById("checkAll").indeterminate=true;
}
}
</script>
</head>
<body>
<h1>演示checkbox的用法</h1>
<input type="checkbox" value="3000" name="no1"><a>笔记本:3000</a><br/>
<input type="checkbox" value="6000" name="no1"><a>电脑:6000</a><br/>
<input type="checkbox" value="1000" name="no1"><a>手机:1000</a><br/>
<input type="checkbox" value="1400" name="no1"><a>Ipad:1400</a><br/>
<input type="checkbox" id="checkAll" onclick="allsel(this);"><a>全选</a>&nbsp;&nbsp;
总金额:<a id="aa"></a><br/>
<input type="button" value="金额总价" onclick="Sum();">
</body>
</html>

原文地址:https://www.cnblogs.com/1314wamm/p/5853390.html