<!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>
总金额:<a id="aa"></a><br/>
<input type="button" value="金额总价" onclick="Sum();">
</body>
</html>
相关文章
- 01-29vue多个组件的过渡
- 01-29canvas动画合集Vue组件
- 01-29jq:翻页时,保存上页多选框checkbox选中状态
- 01-29Vue组件开发--轮播图的实现
- 01-29vue 淡入淡出组件
- 01-29给tree组件添加连接线
- 01-29苹果的组件保护机制 AuthCP
- 01-29文件夹上传组件webupload插件
- 01-29将一个对象赋值给另一个对象(使用element CheckBox中length报错)
- 01-29组件化开发